#coding=<utf8>
import os
os.popen('chcp 65001')
a = 'こんにちは世界'
print a.decode('utf8')
x = raw_input()
Windows 7上的PYTHON 2.6
它将在IDLE中运行且没有错误。
然而,当从控制台运行时,它会出错并快速闪烁,我无法读取错误消息。 如何在Windows控制台中完成?
顺便说一下,用西班牙语或葡萄牙语等其他语言来做这件事会很好。它是日语,俄语,希腊语,希伯来语等语言,在Windows控制台中有这种错误行为。
*编辑 根据要求我改为这段代码:
#coding=<utf8>
import os, sys
os.popen('chcp 65001')
print(sys.stdout.encoding)
x = raw_input('press enter to continue')
a = 'こんにちは世界'
print a.decode('utf8')
x = raw_input()
它将打印: CP437
当然,继续闪存并在解码位上失败...
看起来popen('chcp 65001')在更改代码页时不起作用。 我仍然认为这不是问题的根源,但知道更改此代码页的有效方法会有所帮助。
答案 0 :(得分:0)
<强>更新强>
没关系。 OP正在使用Windows。
有趣的是,将编码声明更改为#encoding=<utf8>
在Ubuntu中无效。
原始答案
这对我有用(Ubuntu Jaunty,Python 2.6.2)。我做的唯一改变是声明编码的第一行。
# encoding: utf-8
import os
os.popen('chcp 65001')
a = 'こんにちは世界'
print a.decode('utf8')
x = raw_input()