1

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

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

条目也开始变得疯狂。他们的.get()方法引发了 UnicodeDecodeError: 'ascii' codec can't decode byte...

最后,如果例如 modulea.py有一个字典dict = {'Sándor': 16}并且 moduleb.py有一个 line a.dict['Sándor'],它会引发 KeyError,就好像 dict 不包含'Sándor'. 它不会对仅包含普通字符的字符串执行此操作,也不会对模块自己的字典执行此操作。

4

1 回答 1

3

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

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

{u'Sándor': 16}

Python中的Unicode,完全揭开神秘面纱

于 2013-08-29T13:30:08.843 回答