python若干中文乱码问题

一直以来,有关Python的中文问题层出不穷,特别是python2.x版本,python3版本因为统一将字符都转化为unicode编码,所以较比python2.x在处理中文方面有着更好的性能。以下总结相关的几个乱码问:

1.出现'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(中文)出现的编码问题,加上ensure_ascii=False,如下:

>>> print json.dumps('中文')

   "\u4e2d\u6587" 

>>> print json.dumps('中文', ensure_ascii=False)

   "中文"

3. 中文显示问题,将str转化为unicode之后,如何显示可读的中文, unicode-escape;

>>> s='\u4e2d\u6587'

>>> print s.decode('unicode-escape')

中文



参考: https://www.onexing.cn

你可能感兴趣的:(python若干中文乱码问题)