【发布时间】:2011-06-29 12:16:19
【问题描述】:
由于我们已将所有源文件和头文件都转换为 unicode,因此我们面临着德语变音符号的问题。源代码中的一切都很好,但 QLabels 和其他 gui 组件显示变音符号乱码。
ISO-8859-1 源可以正常工作,但在 OSX 和 Windows 之间切换时会出现问题。
我需要在项目文件中设置什么吗?
环境:Qt 4.7 和 Qt Creator 2.3.0 在 Windows XP SP3 上使用 MinGW
【问题讨论】:
-
看起来您渲染的输出不期望 UTF-8。您应该以某种方式对其进行配置。
-
可能您的源文件是 UTF-8 编码的,在 Windows 上打开时它认为它是 ISO-8859 编码的?
-
@RedX:Qt 应该把所有这些都抽象出来,所以我们真的不必知道 Windows 在想什么。我认为答案应该是关于 Qt 的。
-
@Kerrek 最终是编译器将该字符串转换为字节,选择 'Ä' 是 Unicode'A+˝' 还是 Unicode'Ä' 或 ASCII'Ä' 并且他可以(在 C++ 之前0x) 只知道从文件编码。他可以做的是 QString::fromUTF8 或 QString::fromASCII 以确保 QString 在创建字符串时使用正确的编码。
-
@RedX:您可以清楚地看到该字符串被编码为 UTF-8,但按字节显示。
标签: qt unicode internationalization diacritics