Qt unicode 和变音符号
由于我们已将所有源文件和头文件转换为 unicode,因此我们面临着德语元音变音的问题。源代码中的一切都很好,但 QLabels 和其他 gui 组件显示变音符号乱码。
ISO-8859-1 源工作正常,但在 OSX 和 Windows 之间切换时会出现问题。
我需要在项目文件中设置什么吗?
环境:Qt 4.7 和 Qt Creator 2.3.0,在 Windows XP SP3 上使用 MinGW
Since we've converted all our source and header files to unicode, we're facing problems with german umlauts. Everything is fine in the source but QLabels and other gui components are showing umlauts garbled.
ISO-8859-1 source works fine but causes problems when switching between OSX and Windows.
Is there anything I have to set in the project file?
Environment: Qt 4.7 with Qt Creator 2.3.0 using MinGW on Windows XP SP3
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试
在创建
QApplication
对象后立即调用。仅当您使用tr()
时才需要QTextCodec::setCodecForTr
。编辑:这仅适用于版本 5 之前的 Qt。较新的 Qt 版本期望源文件转换为 UTF-8。
Try to call
just after creating the
QApplication
object.QTextCodec::setCodecForTr
is only needed if your usingtr()
.EDIT: This works only for Qt older than version 5. Newer Qt versions expect the source files to be converted to UTF-8.
我遇到了类似的问题,决定在源文件中仅使用 7 位 ASCII 字符,并安装一个创建变音符号的 QTranslator。
由于应用程序无论如何都需要翻译成其他语言,这似乎是避免编码问题的好方法。
I had a similar problem and decided to use only 7bit-ASCII characters in my source files and install a QTranslator that creates the umlauts.
As the application needs to be translated to other languages anyway, this seems like a good way to avoid encoding troubles.