我用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