如何使用raw_input获取中文字符

时间:2013-08-22 03:12:17

标签: python eclipse pydev

我的开发环境是:eclipse + pydev。

如果我使用raw_input()获取角色,我输入“你好世界”,然后我得到“浣ソ涓涓栫晫”。那么我怎样才能得到“你好世界”并正确打印出来。

我尝试过raw_input()。decode(sys.stdin.encoding),但结果是一样的。

2 个答案:

答案 0 :(得分:3)

使用终端/控制台的代码页解码。

import sys

t = raw_input().decode(sys.stdin.encoding)
print t

答案 1 :(得分:0)

检查您正在使用的编码。根据{{​​3}},我去尝试gbk编码。具体来说,这是我的python 2.7.3解释器,通过ibus进行UTF-8编码输入:

>>> print raw_input().decode('gbk')
你好世界
浣犲ソ涓栫晫
>>> print raw_input().decode('utf-8')
你好世界
你好世界

这是尝试将UTF-8编码的字符串解码为gbk的结果。由于您的输入似乎是某种形式的UTF,为什么不强制执行utf-8解码或使用输入的编码对其进行解码,如@imom0's comment

import sys

print myString.decode(sys.stdin.encoding)