我想用Python3编写一个应用程序,它应该打印字母:ç,§,ø。当使用Python IDLE时,一切都运行得很好,但我需要这个应用程序在终端(Windows7)中工作。Python显示以下字母:ł,ę,ą,ś,ć,ź,ż和ó,因为它在空闲和控制台中都应该显示。但我的应用程序需要处理所有这些字母。我得到了这个错误:
UnicodeEncodeError: 'charmap' codec can't encode character '\xe5' in position 0: cha racter maps to <undefined>
\xe5应为§。我该怎么做才能让它工作呢?
import sys, os, msvcrt
import tavla
def make():
os.system("cls")
get_verb = input("Angje verbet (separer med komma): ")
polish = input("Angje det polske ordet: ")
verb = get_verb.split(",")
try:
tavla.tavla(verb[0],verb[1],verb[2],verb[3], polish)
print ("Trykk på ein knapp for å fortsetta...")
msvcrt.getch()
except IndexError:
sys.exit(2)
if __name__ == '__main__':
make()"tavla“脚本不会导致任何问题:
def tavla(ubund_sing="et hus", bund_sing="huset", ubund_pl="hus", bund_pl="husene", polsk="dom"):
a = "\t|{0}|\t|{1}|\t\t|{2}|\t\t|{3}|".format(ubund_sing, bund_sing, ubund_pl, bund_pl)
print(a)
print("\n\t\t\t\t{0}".format(polsk))问题是这一行:
print ("Trykk på ein knapp for å fortsetta...")因为它使用了字母“节”。意在,tavla应显示所有字母:ç,§,ø,éł,ę,ą,ś,ć,ź,ż,ó
# -*- coding: utf-8 -*-根本不会改变任何事情。还是老样子。
发布于 2013-10-21 09:44:21
尝尝这个
import sys
reload(sys)
sys.setdefaultencoding('UTF-8')或者你可以参考http://code.activestate.com/recipes/466341-guaranteed-conversion-to-unicode-or-byte-string/
https://stackoverflow.com/questions/19483753
复制相似问题