永发信息网

QT5.1 用tr()输入中文会显示乱码 求帮忙.

答案:6  悬赏:20  手机版
解决时间 2021-11-29 13:56
  • 提问者网友:戎马万世
  • 2021-11-29 04:58
QT5.1 用tr()输入中文会显示乱码 求帮忙.
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-11-29 06:38
qt5,强制字符串编码为UTF8:
1、mingw 没有乱码。
2、vs2010 #pragma execution_character_set("utf-8") 没有乱码

3、vs2012 没有 #pragma execution_character_set("utf-8"),所以会乱码
全部回答
  • 1楼网友:鱼忧
  • 2021-11-29 10:38
不要用tr,直接QStringLiteral("中文");
  • 2楼网友:罪歌
  • 2021-11-29 09:41
你的源代码文件,是UTF-8吗?追问怎么看是不是UTF-8?追答装个NotePad++,打开文件,看encoding菜单。如果不是UTF-8,可以选择Convert to UTF-8,保存即可。追问是UTF-8 编码。。。。 看来不是这个问题。。
  • 3楼网友:酒醒三更
  • 2021-11-29 09:07
curFile =QString::Fromlocal8bit("未命名.txt");追问Fromlocal8bit 这是什么 直接不是QString的成员追答那个就是把括号里的转化为QString 我可能大小写拼错了 你查查API追问不行 换了直接显示常量中有换行符。。。
  • 4楼网友:空山清雨
  • 2021-11-29 07:48
在main.cpp里面加入这个函数
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());//支持中文显示追问这是QT4才有的吧? QT5没这个函数。。。。
  • 5楼网友:夜风逐马
  • 2021-11-29 06:58
我是qt5.5的 win10系统 就是在你需要中文显示的地方用下 QString::fromUtf8("你要写的中文内容") 设置中文不能显示问题 前提 你在文本编辑里面的 默认编码设置成 utf-8 就ok了;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯