Python2.7韩语字符都会变成?s
我在Windows10上使用Python2.7,正在处理韩文文本。我的最终目标是能够导入一些韩文文本,对其进行修改,然后将新文本写入文件 然而,我试图打印到终端或写入文件的任何韩文文本最终都会成为一系列问号 例如,如果我执行以下操作Python2.7韩语字符都会变成?s,python,python-2.7,unicode,Python,Python 2.7,Unicode,我在Windows10上使用Python2.7,正在处理韩文文本。我的最终目标是能够导入一些韩文文本,对其进行修改,然后将新文本写入文件 然而,我试图打印到终端或写入文件的任何韩文文本最终都会成为一系列问号 例如,如果我执行以下操作 >>>print u'가다' 我明白了 我试着把两者都打印出来가다' 你呢가다'. 我还使用sys.setdefaultencoding(编码名称)尝试了两种不同的编码。我尝试过的编码是“utf-8”和“ISO8859-15” 我试着打印你的가다
>>>print u'가다'
我明白了
我试着把两者都打印出来가다' 你呢가다'. 我还使用sys.setdefaultencoding(编码名称)尝试了两种不同的编码。我尝试过的编码是“utf-8”和“ISO8859-15”
我试着打印你的가다'.编码('utf-8')并打印'가다'.编码('utf-8')
我尝试通过使用ord查看信息丢失的时间点,并获得以下信息
>>> ord(u'가')
63
ord('가') 和ord(u'가') 两者都返回63,这与ord(“?”)相同,因此无论是什么问题,似乎都是在我按下enter按钮时发生的。如果我保存가' 或者你가' 并获取该变量的ord
让朝鲜语文本在python 3中工作没有问题,但我使用的朝鲜语处理库在python 3中不起作用,因此切换到python 3不是这种情况下的选项。任何帮助都将不胜感激。提前感谢。在Windows上,包括最新的Windows 10上,CommandPrompt和PowerShell r将打印的字符输入到“代码页”,通常是当前定义的大约200000个unicode字符中的256个。默认情况下,您的Windows设置为您购买它的国家/地区的代码页 utf-8有一个代码页,但它有缺陷,微软拒绝修复它 对于2.7,使用IDLE运行代码,韩文字符可以很好地打印出来,因为tkinter和IDLE使用的tcl/tk文本窗口支持所有前2**16个字符
韩文文本在3.6+版本的Windows上工作,因为CommandPrompt的界面被重写为不使用代码页设置。请敦促您使用的库的作者制作一个3.6+兼容版本。
print u'가다'
在windows 10上使用python 2.7对我很好。在OSX和Ubuntu上也适用。你确定这是python问题而不是windows问题吗?可能缺少一个语言包。@chrisz,你在使用IDLE吗?如果不是,CommandPrompt/PowerShell有什么代码页?chcp打印什么?可能是,
>>> ord(u'가')
63