python 中文乱码

it2022-05-09  31

原文网址:http://zhidao.baidu.com/question/157467188.html

乱码原因: 因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。 解决方法: 在控制台打印的地方用一个转码就ok了,打印的时候这么写: print myname.decode('UTF-8').encode('GBK') 比较通用的方法应该是: import sys type = sys.getfilesystemencoding() print myname.decode('UTF-8').encode(type)

 

--------------------------------------------------------------------------

(转)解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5……..

你需要的是让编码用实际编码而不是 ascii

1.  对需要 str->unicode 的代码,可以在前边写上  import sys  reload(sys)  sys.setdefaultencoding('utf8')  把 str 编码由 ascii 改为 utf8 (或 gb18030)

2.  python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii

转载于:https://www.cnblogs.com/sunwufan/archive/2013/01/24/2874843.html

相关资源:linux下python中文乱码解决方案详解

最新回复(0)