Qt unicode和umlauts

时间:2011-06-29 12:16:20

标签: qt unicode internationalization diacritics

由于我们已将所有源文件和头文件转换为unicode,因此我们面临着德语变音符号的问题。一切都很好,但QLabels和其他gui组件显示变音符号乱码。

ISO-8859-1源工作正常,但在OSX和Windows之间切换时会出现问题。

我是否需要在项目文件中设置任何内容?

环境:使用Qt Creator 2.3.0在Windows XP SP3上使用MinGW进行Qt 4.7

Example

2 个答案:

答案 0 :(得分:10)

尝试致电

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

创建QApplication对象后。只有在您使用QTextCodec::setCodecForTr

时才需要tr()

编辑:这仅适用于早于版本5的Qt.较新的Qt版本希望源文件转换为UTF-8。

答案 1 :(得分:0)

我遇到了类似的问题,决定在我的源文件中只使用7bit-ASCII字符并安装一个创建变音符号的QTranslator。

由于应用程序无论如何都需要翻译成其他语言,这似乎是避免编码麻烦的好方法。