pylupdate5生成.ts文件时源字符串编码异常问题求助
问题
在macOS上用Python 3.8搭配PyQt5做开发,靠QCoreApplication.translate实现多语言翻译。用pylupdate5处理带法语重音字符的UTF-8编码Python文件时,生成的.ts文件里重音字符被转义了——比如代码里的"Créer une trajectoire",到了myfile_en.ts里就变成<source>Créer une trajectoire</source>,Qt Linguist打开这个文件也是同样的问题,只有重音字符受影响。
用到的代码如下:
# -*- coding: utf-8 -*- from PyQt5.QtCore import QCoreApplication def tr(message): return QCoreApplication.translate('myproject', message) tr("Créer une trajectoire")
解决办法
- 给
pylupdate5命令加编码参数
生成.ts文件时显式指定编码为UTF-8,强制工具用正确编码读取源文件,避免转义:pylupdate5 --encoding=utf-8 myfile.py -ts myfile_en.ts - 确认源文件是纯UTF-8无BOM格式
检查你的Python文件编码,确保是UTF-8且不带BOM(macOS下默认保存的纯文本文件一般符合要求,也可以用文本编辑器比如TextEdit,在“格式”里选“纯文本”和“UTF-8”重新保存)。 - 升级PyQt5版本
旧版pylupdate5可能存在UTF-8字符处理的bug,直接升级PyQt5试试:pip install --upgrade PyQt5
内容的提问来源于stack exchange,提问作者dmjf08
相关产品推荐
相关产品推荐

