Python PyQt5 unicode转换:PYUPDATE5输出转义序列

Python PyQt5 unicode转换:PYUPDATE5输出转义序列,python,qt,unicode,pyqt,pyqt5,Python,Qt,Unicode,Pyqt,Pyqt5,我有一个在Python2.7.5上使用PyQt5(Qt5.1.1)开发的应用程序。该应用程序广泛使用unicode字符串,这些字符串是通过使用来自uuu future uuu导入unicode文本的启用的。源代码设置为#-*-编码:utf-8-*-,因此unicode字符按源代码中的原样写入(无需转义) 使用pylupdate5“works”进行翻译,只要提取字符串,就可以使用Qt语言学家进行翻译并重新应用。这既适用于包含非ASCII字符的字符串,也适用于不包含ASCII字符的字符串。但是,任何

我有一个在Python2.7.5上使用PyQt5(Qt5.1.1)开发的应用程序。该应用程序广泛使用unicode字符串,这些字符串是通过使用来自uuu future uuu导入unicode文本的
启用的。源代码设置为
#-*-编码:utf-8-*-
,因此unicode字符按源代码中的原样写入(无需转义)

使用
pylupdate5
“works”进行翻译,只要提取字符串,就可以使用Qt语言学家进行翻译并重新应用。这既适用于包含非ASCII字符的字符串,也适用于不包含ASCII字符的字符串。但是,任何包含unicode字符的字符串最终都会在
.ts
文件中包含乱码。例如,“打开”后跟省略号输出为:

&Open…
单词后面的位是省略号字符(E280 A6)的unicode代码单位,尽管在Qt语言学家中它显示为
。翻译它(并在翻译中输入正确的unicode很好)。将
.ts
文件中的
替换为正确的unicode将停止生成的翻译,这表明
tr
也会看到乱码版本


那么这里发生了什么呢?

我对此几乎没有经验,但看看我生成的一个.ts文件,第一行是,BBEdit确认它是utf-8编码的。在这种情况下,应正确显示非拉丁-1字符。事实上,我只是将一个省略号编辑成了.ts文件中的一个字符串,并在Linguagist中打开它,它显示正确。因此,它可能只是源文件或.ts文件的文件编码