print "Español\nPortuguês\nItaliano".encode('utf-8')
错误:
Traceback (most recent call last): File "", line 1, in print "Español\nPortuguês\nItaliano".encode('utf-8') UnicodeDecodeError: 'ascii' codec can't decode byte 0xf1 in position 4: ordinal not in range(128)
我正在尝试在Windows中制作一个多语言控制台程序。这可能吗? 我也用utf-8编码保存了这个文件,我得到了同样的错误。
*编辑 我只是在这个程序中输出文本。我换成露西达字体,我一直得到这个: alt text http://img826.imageshack.us/img826/7312/foreignlangwindowsconso.png
我只是在寻找一种在windows控制台中正确显示外语的便携式方法。如果它能跨平台,那就更好了。我以为utf-8是答案,但你们都告诉我字体等。。也起到了一定的作用。有人有明确的答案吗?
这对我有效:
您可能还想尝试使用
chcp 65001 && your_program.py
运行它,尝试将命令提示符字体更改为Lucida Console。简短回答:
第一行告诉Python您的文件是用UTF-8编码的(您的编辑器必须使用相同的设置),这一行应该始终位于文件的开头。
另一件事是Python 2知道两个不同的
basestring
对象-str
和unicode
。前缀u
将创建这样一个unicode对象,而不是默认的str对象,然后您可以将其编码为UTF-8(但是直接打印unicode对象也应该有效)。首先,在Python 2.x中,不能
encode
使用非ASCII字符的str
。你得写信在Windows控制台上使用UTF-8很困难。
chcp 65001
encodings._aliases
以将“cp65001”视为UTF-8的别名。即使这样,它似乎也不起作用。
相关问题 更多 >
编程相关推荐