我使用的是Qt 5.3.0。我需要在代码中添加一些日文字符。我已添加BOM
但我仍然必须使用QString::fromLocal8Bit
来正确显示字符。
例如:
我有一个pushButton,然后我调用ui->pushButton->setText("浦");
然后该按钮将带有奇怪的标记,而不是字符浦
。
我必须使用ui->pushButton->setText(QString::fromLocal8Bit("浦"));
才能使其显示正确。
有没有办法通过设置QString的所有创建来默认传递函数fromLocal8Bit来避免调用fromLocal8Bit
?不改变Qt源代码。
还是其他任何好主意?
答案 0 :(得分:1)
从qt5开始,如果源文件以UTF-8编码保存,您应该能够将日文字符作为字符串文字放入源代码中。 (我尝试通过复制/粘贴字符,使用qt5.3.1和Mingw4.8.2编译器,我在按钮中看到正确的字符)。
如果要从文件加载字符,请务必使用QTextStream读取它,并将其编码设置为“UTF-16”(如果文件以UTF-16编码)。