python2.7.14 32bit 在 IDLE (已设置文件默认编码为 utf-8 )中编写 py 文件如下:
#coding:utf-8
a="中文"
print a
b=a.decode('utf-8')
print b
c=b.encode('gbk')
print c
F5 运行后,3 个均顺利打出,无乱码。
在 CMD 里运行,分别打印为
?腑鏂?
?形?
?形?
cmd 的编码是 cp936,查了说就是 gbk。
在 wingide 里运行,打印出
中文
中文
XXXX #四个黑色斜方块,里面是问号
在 pyscripter 里运行,打印出
涓枃
中文
中文
在 vscode 里运行,打印出
涓枃
涓枃
中文
为什么会有这些不同? 怎么做到统一? 谢谢
1
ClutchBear 2019-03-31 23:09:43 +08:00
所以不用 cmd 就是了.
|
2
orangeade 2019-03-31 23:12:57 +08:00 via Android
别用 Python2 了,明天就不支持了
|
4
silkriver 2019-03-31 23:18:38 +08:00
powershell 用 utf-8,cmd 用 gbk,你这些不同都只是由于这一点
|
7
tomczhen 2019-04-01 00:49:42 +08:00
不显示乱码的前提除了 Python 支持编码之外,如果是在终端中显示,也需要终端有编码支持才行吧。
|
8
no1xsyzy 2019-04-01 13:06:55 +08:00
简单地说:
字 gbk utf-8 中 D6D0 E4B8AD 文 CEC4 E69687 腑 B8AD E88591 鏂 E696 E98F82 形 D0CE E5BDA2 涓 E4B8 E6B693 枃 9687 E69E83 |