關於編輯環境編碼
首先要確保eclipse編輯器環境的編碼為utf8,這個是大前提;其次如果py檔案中含有中文字元的話,需要在py檔案
中對編碼進行聲明。
1. 修改eclipse編輯器編碼
a) window->preferences->general->editors->text editors->spelling->encoding->UTF-8
b) window->preferences->workspace->text file encoding->UTF-8
c) 開啟eclipse安裝目錄->eclipse.ini,末行加上”-Dfile.encoding=UTF-8”
2. 修改python檔案編碼聲明
在py檔案首行加上#coding=utf-8,一定要在首行才可以
關於網頁字元編碼
完成以上兩點,對本地中文字元處理沒有問題了。但是有時我們需要處理網頁上的中文字元,比如讀取網頁、對網
頁內容進行抓取,那麼僅僅做到上面兩點是不夠了。還需要用到decode和encode
decode與encode 是一對相反的方法。decode是解碼,比如網頁採用的是gb2312編碼格式,那麼通過read()方法讀取
頁面內容之後,使用str.decode(‘gb2312′)就是將頁面內容解碼為unicode編碼;encode正好相反,它是將
unicode編碼為指定的格式,如果之前已經通過decode解碼為unicode,str.encode(‘utf8′)即將str編碼為utf8格
式。
所以自然我們就有了在eclipse中正確顯示網頁內容的方法。比如網頁採用的gb2312編格式,eclipse環境已經調整
為utf8編碼,如果直接read()出來,在eclipse中顯示的是亂碼;如果在read()之後加一道工序,顯示就正常了,如
下:
| 代碼如下 |
複製代碼 |
html = f.read().decode('gb2312').encode('utf8') |
Eclipse+pydev2.2+python2.7 的設定
| 代碼如下 |
複製代碼 |
window->preferences->general->editors->text editors->spelling->encoding->UTF-8 window->preferences->workspace->text file encoding->UTF-8
|
開啟eclipse安裝目錄->eclipse.ini,末行加上”-Dfile.encoding=UTF-8”
檔案編碼
py檔案記得儲存成UTF-8,檔案首行加上”#coding=utf-8”
run時設定
| 代碼如下 |
複製代碼 |
run-->run configurations->python run->Common-> Encoding ->UTF-8 |
這樣就解決了中文亂碼的問題,大如果有更的辦法也可以下面評論提交哦。