使用Windows系统cmd运行Python时中文乱码问题有效的解决方式

系统是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

转载请注明来处

 

posted @ 2019-03-28 18:21  为了得到而努力  阅读(2771)  评论(0编辑  收藏  举报