但在windows下编写python程序的时候,我们一般采用的编码是utf-8
二者不一致是导致乱码的根本原因!
在pycharm下,为了中文不乱码,那么需要注意一下几个方面:
一、每一个源程序文件头部,需要加上
#-*-coding:utf-8-*-
这样就没有乱码了
python2.X,代码中指定了UTF-8,但是在cmd命令行窗口时,打印的中文仍然会乱码。
在python3不存在该问题
运行结果:
原因
中文windows默认的输出编码为gbk ,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。
相关推荐:《Python基础教程》
解决方法
有如下两种方法可以解决这个问题
方法一
我们可以通过先把中文解码为unicode,然后再转化为gbk来解决这个问题:
修改后运行结果:
方法二
当然,我们也可以通过改变cmd命令行窗口的输出格式来解决这个问题:
·chcp 65001 就是换成UTF-8代码页
·chcp 936 可以换回默认的GBK
但是这样就降低了脚本的兼容性,在其他环境运行的时候可能还会出现这样的错误,而且可能会影响其他脚本运行,所以推荐使用第一种方法。