系统是Windows7.在cmd或者powershell上使用Python2/3运行含有中文的Python源文件,都有中文乱码问题。
目前找到的有效解决方法是先对中文按照指导的编码方式解码,然后按照指定的编码方式编码字符串,当然对于Python2要加上使用utf-8的注解,例如:
(该解决方案来自于http://www.runoob.com/python/python-chinese-encoding.html 的笔记)
#!/usr/bin/python # -*- coding:utf-8 -*- s = "你好,世界!" print s.decode("utf-8").encode("gbk") #先按照utf-8解码,再按照gbk编码
原因是windows 命令提示符的显示编码为 gbk 编码。
在命令提示符下使用 chcp 查询编码。
"活动代码页:936" 代表命令提示符的编码为 "gbk"
"活动代码页:65001" 代表命令提示符的编码为 "utf-8"
之前试图直接修改笔者的cmd活动代码页,但不论是通过可视化修改还是修改注册表,网上的资料都不对笔者的电脑有效(可视化没有对应的按钮,注册表找不到对应的字段)。而在cmd上直接使用chcp 65001跳到对应的活动窗口时运行Python文件还是乱码。
不知道有没有更好的合适笔者的方法,希望分享给笔者,非常感谢,因为先解码再编码的方式不太友好。
为了得到而努力
2019-03-28
转载请注明来处
|