如何使QString :: fromLocal8Bit成为默认值?

时间:2014-07-10 06:44:17

标签: c++ windows qt qstring

我使用的是Qt 5.3.0。我需要在代码中添加一些日文字符。我已添加BOM但我仍然必须使用QString::fromLocal8Bit来正确显示字符。

例如:
我有一个pushButton,然后我调用ui->pushButton->setText("浦");然后该按钮将带有奇怪的标记,而不是字符

我必须使用ui->pushButton->setText(QString::fromLocal8Bit("浦"));才能使其显示正确。

有没有办法通过设置QString的所有创建来默认传递函数fromLocal8Bit来避免调用fromLocal8Bit?不改变Qt源代码。 还是其他任何好主意?

1 个答案:

答案 0 :(得分:1)

从qt5开始,如果源文件以UTF-8编码保存,您应该能够将日文字符作为字符串文字放入源代码中。 (我尝试通过复制/粘贴字符,使用qt5.3.1和Mingw4.8.2编译器,我在按钮中看到正确的字符)。
如果要从文件加载字符,请务必使用QTextStream读取它,并将其编码设置为“UTF-16”(如果文件以UTF-16编码)。