如何在Windows中的控制台上打印日语utf-8?

时间:2010-08-26 18:10:31

标签: python utf-8

#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')在更改代码页时不起作用。 我仍然认为这不是问题的根源,但知道更改此代码页的有效方法会有所帮助。

1 个答案:

答案 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()