python utf-8日语
我想将一些日语单词转换为utf-8,如下所示:python utf-8日语,python,unicode,utf-8,Python,Unicode,Utf 8,我想将一些日语单词转换为utf-8,如下所示: jap_word1 = u'中山' jap_word2 = u'小倉' print jap_word1.encode('utf-8') # Doesn't work print jap_word2.encode('utf-8') # Prints properly 为什么一个单词可以正确地转换为utf-8并打印以显示相同的字符,而另一个却不能 (我在Windows7Ultimate上使用python 2.6)因为您的控制台不在UTF-8中。在
jap_word1 = u'中山'
jap_word2 = u'小倉'
print jap_word1.encode('utf-8') # Doesn't work
print jap_word2.encode('utf-8') # Prints properly
为什么一个单词可以正确地转换为utf-8并打印以显示相同的字符,而另一个却不能
(我在Windows7Ultimate上使用python 2.6)因为您的控制台不在UTF-8中。在运行之前运行chcp 65001。很多东西必须对齐才能正确打印字符:
#coding:xxxx
语句,其中xxxx与保存文件的编码匹配chcp
Windows上的命令)# coding: utf-8
jap_word1 = u'中山'
jap_word2 = u'小倉'
print jap_word1
print jap_word2
有趣的是,我在IDLE中将.encode('utf-8')
添加到两个打印中得到了您的结果,但它在Pythonwin中工作正常,Pythonwin的默认输出窗口支持utf-8
懒惰是一种怪兽
sys.stdout.encoding
在我的系统上生成'cp1252'
,它不支持亚洲字符,但在UTF-8中打印时,第一个单词打印错误,第二个单词打印正确。第二个打印可能是word2?感谢您指出这一点。更正了。我强烈建议你用“jp”作为日语的缩写,而不是“jap”,以避免种族主义的含义。在这种情况下,你的意思显而易见。。。但我还是注意到了。jp是标准的。是的,我觉得这很奇怪,因为我用的是Python空闲。有趣的是,只有一些字符被正确转换,而其余的字符没有被正确转换。当我在Ubuntu的python控制台中进行转换时,我也没有遇到任何问题。但对于Windows 7中的Python空闲,天哪。。。