Некоторое время назад я записался на курс по китайскому языку, и я подумал, что для меня было бы отличным упражнением написать программу на флэшкарте на python.Я храню списки флэш-карт в словаре в файле .txt, пока без проблем.Реальные проблемы возникают, когда я пытаюсь загрузить файл, закодированный в utf-8, в мою программу.Выдержка из моего кода:
import codecs
f = codecs.open(('list.txt'),'r','utf-8')
quiz_list = eval(f.read())
quizy = str(quiz_list).encode('utf-8')
print quizy
Теперь, если, например, list.txt состоит из:
{'character1':'男人'}
то, что напечатано, на самом деле
{'character1': '\xe7\x94\xb7\xe7\x86\xb1'}
Очевидно,здесь есть некоторые серьезные проблемы с кодированием, но я не могу понять, , где они происходят.Я работаю с терминалом, который поддерживает utf-8, поэтому не стандартный cmd.exe: это не проблема.Чтение обычного list.txt без фигурных dict-битов без проблем возвращает китайские символы, поэтому я предполагаю, что я неправильно обрабатываю часть словаря.Любые мысли будут с благодарностью!