为什么这些字符串不是由Qt 5翻译的

时间:2015-05-12 09:42:51

标签: qt

我将Qt4项目移植到Qt5(Qt 5.4.1 + VS2013),该项目有一些字符串翻译。源文件是UTF-8编码的。但今天我发现这段代码不起作用(它们在Qt4中都运行良好)。

this->paraList.push_back( QPair<QString,QString>( QString(tr("℃:")), QString(tr("Ω")) ) );

&#39; paraList&#39;是一个QList,其中的字符串最终显示在QTableWidget中。它们都在QLiguist中正确显示,但是当我的应用程序运行时,摄像头符号和欧姆符号无法正确翻译,如下所示

enter image description here

但所有其他字符串都已正确翻译。我的语言环境是zh_CN。为什么这两个字符如此特殊

1 个答案:

答案 0 :(得分:2)

问题在于编码。您使用非ASCII字符作为转换模式。 Qt5中有一些变化如何转换c字符串(我不记得细节),我怀疑这可能是个问题。

尝试使用trUtf8这可以解决问题。