寫這篇文章是因為,之前做了python2.7+django的專案,專案在ubuntu下執行,用apache+mod_wsgi進行了部署。
期間遇到了很多python中文亂碼,os.walk遍歷中文目錄無法處理等等諸如此類的問題,為了整這個中文亂碼,又是進行編碼轉換,又是新增coding標頭檔案為utf-8等等,但是還是有許多問題。
比如下面我寫的這幾篇blog:
1python字串編碼詳解
:2解決python unicodedecodeerror: 'gb2312' codec can't decode問題
:3解決python讀取中文目錄亂碼的問題
:4python讀取.htm檔案報錯:unicodedecodeerror: 'utf8' codec can't decode byte 0xb3 in position 0的解決方法
:5python讀取檔案報錯:valueerror encoding must be one of 'utf_8', 'big5', or 'gbk'.:
其實我想說的是:別這麼煩了,與其花這麼多時間去搞定中文亂碼這種本來不應該是你專案主要去做的事情,就應該把專案從python2.7過渡到python3.4,不要擔心一些庫,python3.4出來有一兩年了,基本上凡是支援python2.7的庫都支援python3.4。
專案過渡地越早,甚至一開始就用python3.4基本上就解決了這些令人頭疼的中文亂碼問題,你的代價越小,別等到專案都整完了,再去過渡,代價太大。
關於python2.7過渡到python3.4,下面的幾篇blog很好地告訴你應該怎麼做。
血的教訓,希望大家別再糾結python2.x版本了,勇敢得投入python3.x的懷抱吧!
簡單Servlet專案的中文亂碼問題
寫了乙個簡單的servlet專案用來實現購物車功能,主要內容為 在jsp頁面上獲取核取方塊選中的商品,提交後返回乙個頁面顯示所選的商品資訊。但是魯迅說過,bug總是無處不在的 orz。提交之後返回的頁面總是出現中文亂碼,不管怎麼設定編碼格式都毫無用處,該亂碼的還是亂碼。按道理來說,返回頁面的編碼格式...
關於中文亂碼
解決post request.setcharacterencoding urf 8 解決get 在server.xml中加uriencoding utf 8 browser iso8859 1 server string s 中文 中文亂碼的萬能解決方式 先解碼 將亂的資料再次還原為最初的位元組陣列...
關於中文亂碼
對於html檔案,使用gb2312編碼方式 html檔案頭部新增下面行 meta name content type content text html charset gb2312 請確保檔案屬性中編碼也設定為gb2312 對於jsp檔案,使用utf 8編碼 page 標籤中新增 contentt...