python在eclipse下中文乱码问题zz
首先要確保eclipse編輯器環(huán)境的編碼為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,一定要在首行才可以
關于網(wǎng)頁字符編碼
完成以上兩點,對本地中文字符處理沒有問題了。但是有時我們需要處理網(wǎng)頁上的中文字符,比如讀取網(wǎng)頁、對網(wǎng)頁內(nèi)容進行抓取,那么僅僅做到上面兩點是不夠了。還需要用到decode和encode
decode與encode 是一對相反的方法。decode是解碼,比如網(wǎng)頁采用的是gb2312編碼格式,那么通過read()方法讀取頁面內(nèi)容之后,使用str.decode(‘gb2312′)就是將頁面內(nèi)容解碼為unicode編碼;encode正好相反,它是將unicode編碼為指定的格式,如果之前已經(jīng)通過decode解碼為unicode,str.encode(‘utf8′)即將str編碼為utf8格式。
所以自然我們就有了在eclipse中正確顯示網(wǎng)頁內(nèi)容的方法。比如網(wǎng)頁采用的gb2312編格式,eclipse環(huán)境已經(jīng)調(diào)整為utf8編碼,如果直接read()出來,在eclipse中顯示的是亂碼;如果在read()之后加一道工序,顯示就正常了,如下:
html = f.read().decode('gb2312').encode('utf8')?
轉載于:https://www.cnblogs.com/hermione820/p/3415861.html
總結
以上是生活随笔為你收集整理的python在eclipse下中文乱码问题zz的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类似pyinstaller_Python
- 下一篇: python 写入excel 日期_Py