码迷,mamicode.com
首页 > 编程语言 > 详细

Python的经典问题——中文乱码

时间:2018-01-30 17:00:19      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:imp   直接   bsp   windows   files   blog   height   中文显示   并且   

估计入门时都会遇到的。我是在windows下用的Python25自带的IDLE编辑运行的,发现运行脚本得出的结果有一些中文显示是乱码,但有一些是正常的。百思不得其解。首先查看了一下源文件的编码格式,是UTF-8。经过搜索再搜索,调试再调试,也换了几个编译器,发现比IDLE还糟糕(可能需要进行encode设置)。问题终于解决了,一共花了俺将近5个小时,写在这里,希望遇到问题的人能搜索到这里,不再重犯。
乱码原因: 因为你的文件声明为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)

Python的经典问题——中文乱码

标签:imp   直接   bsp   windows   files   blog   height   中文显示   并且   

原文地址:https://www.cnblogs.com/Matthew-Lu/p/8384346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!