You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pylupdate5生成.ts文件时源字符串编码异常问题求助

问题

在macOS上用Python 3.8搭配PyQt5做开发,靠QCoreApplication.translate实现多语言翻译。用pylupdate5处理带法语重音字符的UTF-8编码Python文件时,生成的.ts文件里重音字符被转义了——比如代码里的"Créer une trajectoire",到了myfile_en.ts里就变成<source>Cr&#xc3;&#xa9;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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 14:22:24