我的开发环境是: eclipse+pydev。
如果我使用raw_input()来获取字符,我输入"你好世界",然后我得到"浣犲ソ涓栫晫“。那么我怎样才能得到"你好世界“并正确地打印出来呢?
我尝试过raw_input().decode(sys.stdin.encoding),但结果是一样的。
发布于 2013-08-22 11:16:10
使用终端/控制台的代码页进行解码。
import sys
t = raw_input().decode(sys.stdin.encoding)
print t发布于 2013-08-22 11:29:45
检查您正在使用的编码。基于@imom0's comment,我尝试了gbk编码。具体地说,这是我的Python2.7.3解释器,通过ibus使用UTF-8编码作为输入:
>>> print raw_input().decode('gbk')
你好世界
浣犲ソ涓栫晫
>>> print raw_input().decode('utf-8')
你好世界
你好世界这是尝试将UTF8编码的字符串解码为gbk的结果。既然您的输入似乎是某种形式的UTF,为什么不强制执行utf-8解码或者使用输入的编码来解码它,就像在@ignacio-vazquez-abrams' answer中一样
import sys
print myString.decode(sys.stdin.encoding)https://stackoverflow.com/questions/18371083
复制相似问题