一直以來,有關(guān)Python的中文問題層出不窮再登,特別是python2.x版本尔邓,python3版本因為統(tǒng)一將字符都轉(zhuǎn)化為unicode編碼,所以較比python2.x在處理中文方面有著更好的性能锉矢。以下總結(jié)相關(guān)的幾個亂碼問:
1.出現(xiàn)'ascii' codec? can't encode characters in position... 或是Non-ASCII character ...
解決方法:在文件頭加上 "# coding: utf-8"?
import?sys
reload(sys)?#?重新加載
sys.setdefaultencoding('utf8')?#?將字符decode成unicode.
print?s.encode('uft8')
2. 使用json.dumps(中文)出現(xiàn)的編碼問題梯嗽,加上ensure_ascii=False,如下:
>>>?print?json.dumps('中文')
???"\u4e2d\u6587"?
>>>?print?json.dumps('中文',?ensure_ascii=False)
???"中文"
3. 中文顯示問題,將str轉(zhuǎn)化為unicode之后沽损,如何顯示可讀的中文,?unicode-escape灯节;
>>>?s='\u4e2d\u6587'
>>>?print?s.decode('unicode-escape')
中文