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

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

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

最后,例如,如果模块a.py具有字典dict = {'Sándor': 16},而模块b.py具有行a.dict['Sándor'],则它将引发KeyError,就好像字典中不包含'Sándor'。它不对仅包含普通字符的字符串执行此操作,对模块自身的字典也不执行此操作。

最佳答案

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


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

{u'Sándor': 16}


Unicode In Python, Completely Demystified

10-06 11:41