Qt开源社区

标题: tr(“..”)中的内容运行显示乱码 [打印本页]

作者: chen8ang1    时间: 2014-10-20 20:18
标题: tr(“..”)中的内容运行显示乱码
以前用的是4.7.2版本,现在用5.3.2之后运行出来的字符出来时乱码,
在main。cpp中也加入QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
但是显示还是乱码。
比如这一行程序 Model->setHeaderData(2,Qt::Horizontal,tr("缺陷长度"));
如何修改。

作者: ziyou    时间: 2014-10-20 20:18
我也用的是5.3.2,我的设置:
Qt Creator环境设置:默认编码:UTF-8,UTF-8 BOM:如果是UTF-8则添加
在文件中的,字符串前加个宏QStringLiteral把字符串扩起来;
你试试看,行不行。

作者: Joey_Chan    时间: 2014-10-21 02:37
如果5.3.1或之前版本都可以的话,那就是Qt自己的问题了
作者: 20030969    时间: 2014-10-21 11:11
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
    QTextCodec::setCodecForCStrings(codec);
作者: Cooker    时间: 2014-10-27 11:39
#ifdef _MSC_VER
#pragma execution_character_set("utf-8")
#endif
这样就没乱码了。。。。
再加上你写的 这样就可以解决编码问题希望对你有帮助,
作者: ps_Chen    时间: 2014-11-4 20:40
试下另外几种编码格式看行不行~




欢迎光临 Qt开源社区 (https://www.qter.org/) Powered by Discuz! X3.4