我正在使用Qt 5.3.0。我需要在代码中添加一些日语字符。我已经添加了BOM
,但是仍然必须使用QString::fromLocal8Bit
来使字符正确显示。
例如:
我有一个按钮,然后调用ui->pushButton->setText("浦");
,然后该按钮将带有怪异的标记,而不是字符浦
。
我必须使用ui->pushButton->setText(QString::fromLocal8Bit("浦"));
使其正确显示。
有没有一种方法可以通过将QString的所有创建设置为默认情况下传递来自local8Bit的函数来避免调用fromLocal8Bit
?无需更改Qt源代码。
还是其他好主意?
最佳答案
从qt5开始,如果源文件以UTF-8编码保存,则应该能够将日语字符作为字符串文字放入源代码中。 (我尝试使用qt5.3.1和Mingw4.8.2编译器复制/粘贴字符,然后在按钮中看到正确的字符)。
如果要从文件加载字符,请确保使用QTextStream对其进行编码,并将其编码设置为“ UTF-16”(如果文件以UTF-16编码)。
关于c++ - 如何将QString::fromLocal8Bit设置为默认值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24670064/