为啥pycharm中utf-8管用,cmd时就乱码了,以及如何解决

python2.x 脚本加上 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 后windows 命令提示符下输出中文字符串还会出现乱码。

解决方法需要先使用 decode("utf-8") 转换成 utf-8 编码,然后使用 encode("gbk") 转换成 gbk 编码,才能在 windows 命令提示符下正常输出中文。

例如:

>>> # -*- coding: UTF-8 -*-
>>> s="我是中文 "
>>> print s.decode("utf-8").encode("gbk")

原因是 windows 命令提示符的显示编码为 gbk 编码。

在命令提示符下使用 chcp 查询编码。

"活动代码页:936" 代表命令提示符的编码为 "gbk"

"活动代码页:65001" 代表命令提示符的编码为 "utf-8"

你可能感兴趣的:(python)