用于外语的python中的Windows CMD行错误

时间:2014-05-14 05:15:48

标签: python mysql windows python-idle

我从MySQL数据库下载数据。部分数据采用韩文。当我在将它放入表(Qt)之前尝试print字符串时,windows命令提示符返回:

File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to (undefined)

但是,当我使用IDLE运行代码时,它会打印韩语。在尝试调试我的程序无法正常工作时,这让我很头疼,因为我只是从文件夹中单击python文件来运行它。最后,当使用空闲时,结果一切正常。

我的python安装,Windows安装或python代码是否有问题只是打印字符?我认为它不是python代码,因为它在IDLE中工作。另外,使用特殊功能在Windows中打印似乎很糟糕,因为它限制了代码可移植到另一个操作系统(或者每个操作系统都有这个问题?)

1 个答案:

答案 0 :(得分:0)

IDLE基于tkinter,它基于tcl / tk,支持整个基本多语言平面(BMP)。 (但是tcl / tk不支持带有其他字符的补充平面)。在Windows上,Python交互式解释器在命令提示符使用的同一控制台窗口中运行。这仅支持BMP的代码页子集,有时只支持256 ^ 2个16个字符。

支持ASCII和韩语的代码页是949.(轻松谷歌搜索。)在命令提示符中,chcp 949应该更改为该代码页。如果你然后启动Python,你应该能够显示韩文字符。