Python编码问题(Utf-8,匈牙利语)

时间:2013-08-29 13:26:02

标签: python encoding utf-8 python-2.x

我在Python 2中编写了一个脚本,它在4-5个模块中分开。我在剧本中使用匈牙利语,其中包含几个不寻常的字符,如öüóőúéáűí。我使用原始的cp-1250编码在Win7上编写了模块,然后我转到Ubuntu raring,系统默认为Utf-8。

First Tkinter离开了规范。包含标签空白的字母,我通过将模块开头的每个编码设置为# -*- Utf-8 -*-来设法调试。

条目开始发疯了。他们的.get()方法引发了UnicodeDecodeError:'ascii'编解码器无法解码字节...

最后,如果例如模块a.py有一个字典dict = {'Sándor': 16}而模块b.py有一行a.dict['Sándor'],它会引发KeyError,就好像dict不包含{ {1}}。它不会对只包含普通字符的字符串执行此操作,而不是使用模块自己的字典。

1 个答案:

答案 0 :(得分:3)

  

我在python2中写了一个脚本......我在脚本中使用了匈牙利语......

您使用unicode文字了吗?不,你没有。重写您的脚本以便正确使用和处理它们。

{u'Sándor': 16}

Unicode In Python, Completely Demystified