2010-08-26 106 views
0
#coding=<utf8> 
import os 
os.popen('chcp 65001') 

a = 'こんにちは世界' 
print a.decode('utf8') 

x = raw_input() 

PYTHON 2.6在Windows 7如何在windows的控制台上打印日语utf-8?

它会在没有任何错误怠速运转。

但是,当从控制台运行时,它出错并且闪烁很快,我无法读取错误消息。 它如何在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

在该脚本中,添加'import sys'和'print(sys.stdout.encoding)'。请发布结果。 – unutbu 2010-08-26 18:19:27

+0

Windows控制台中可用的字体仅包含几个脚本。 – 2010-08-26 19:49:28

+0

这是你自己的问题DUP http://stackoverflow.com/questions/3578685/how-to-display-utf-8-in-windows-console编辑原来的问题和它的标题;然后请求关闭此问题。负责 – OTZ 2010-08-27 04:16:27

回答

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() 
+0

是的,它看起来像你正在使用linux。它在Windows控制台上出现错误。有几种不同的方式来指定脚本的编码,都是正确的。 – russo 2010-08-26 18:17:36

+0

雅,错误的意思是写'编码'而不是'编码' 这里是它说格式的页面: http://www.python.org/dev/peps/pep-0263/ – russo 2010-08-26 18:31:15

+0

@russo:我没有'不知道。谢谢。 – 2010-08-26 18:43:29

相关问题