Windows下打印utf-8文件
估計(jì)入門時(shí)都會(huì)遇到的。我是在windows下用的Python25自帶的IDLE編輯運(yùn)行的,發(fā)現(xiàn)運(yùn)行腳本得出的結(jié)果有一些中文顯示是亂碼,但有一些是 正常的。百思不得其解。首先查看了一下源文件的編碼格式,是UTF-8。經(jīng)過搜索再搜索,調(diào)試再調(diào)試,也換了幾個(gè)編譯器,發(fā)現(xiàn)比IDLE還糟糕(可能需要 進(jìn)行encode設(shè)置)。問題終于解決了,一共花了俺將近5個(gè)小時(shí),寫在這里,希望遇到問題的人能搜索到這里,不再重犯。
亂碼原因:
因?yàn)槟愕奈募暶鳛閡tf-8,并且也應(yīng)該是用utf-8的編碼保存的源文件。但是windows的本地默認(rèn)編碼是cp936,也就是gbk編碼,所以在控制臺(tái)
直接打印utf-8的字符串當(dāng)然是亂碼了。?
解決方法:
在控制臺(tái)打印的地方用一個(gè)轉(zhuǎn)碼就ok了,打印的時(shí)候這么寫:
print myname.decode('UTF-8').encode('GBK')?
比較通用的方法應(yīng)該是:
import sys
type = sys.getfilesystemencoding()
print myname.decode('UTF-8').encode(type)
?
http://note.sdo.com/u/1445822006/n/mbnUS~jrqk7MLX00E000Xb
總結(jié)
以上是生活随笔為你收集整理的Windows下打印utf-8文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用python 提取html文件中的特
- 下一篇: linux下字符串查找 与替换