QTextEdit显示中文乱码

weixin_38059788 2019-09-19 02:11:47
代码清单如下:复制代码QFile inputFile(tr(":/input.txt")); inputFile.open(QIODevice::ReadOnly); QTextStream in(&inputFile); QString line = in.readAll(); inputFile.close(); // QString info = tr("中文"); //ui->textEdit->setPlainText(info); ui->textEdit->setPlainText(tr(line.toStdString().c_str()));我从input.txt(utf-8编码)文件中读取内容,如果直接ui->textEdit->setPlainText(line);就会出现乱码,而上面的info="中文"的话也会乱码,加了tr就不会。ui->textEdit->setPlainText(tr(line.toStdString().c_str()));也不会乱码,但是这么写是不是太麻烦了,请问,有什么简单一点的写法吗,起码不需要这么多步骤的。谢谢
...全文
1317 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaokaiV5 2020-02-19
  • 打赏
  • 举报
回复 2
CSDN的尿性真差,从别的网站上copy过来的内容,被我发现原网站了,还删我的贴,说我发广告?广告你妹啊。
weixin_38062545 2019-09-19
  • 打赏
  • 举报
回复
永远记住一点想省事就别在代码中用中文如果你确定那个txt就是utf8的话强制给textstream设置编码试试呢?
weixin_38080567 2019-09-19
  • 打赏
  • 举报
回复
用tr的话,里面还是不要用中文了……要用中文试试QString::fromLocal8Bit("中文中文");或者QString::fromUtf8(in.readAll());
weixin_38082021 2019-09-19
  • 打赏
  • 举报
回复
多看点QT编码问题,看多了也就那样
weixin_38088352 2019-09-19
  • 打赏
  • 举报
回复
文件读入的时候,如果能确认文件的编码方式可以指定codec
weixin_38098895 2019-09-19
  • 打赏
  • 举报
回复
在main()中加入下面这行代码: QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
weixin_38107144 2019-09-19
  • 打赏
  • 举报
回复
void UiUtil::enableUtf8() {    QTextCodec *codec = QTextCodec::codecForName("UTF8");    if (codec) {        QTextCodec::setCodecForTr(codec);        QTextCodec::setCodecForLocale(codec);        QTextCodec::setCodecForCStrings(codec);    }}
weixin_38114312 2019-09-19
  • 打赏
  • 举报
回复
main函数中使用上面的代码,让Qt程序默认使用UTF-8编码显示字符,“想省事就别在代码中使用中文“,不占同这一点,呵呵
weixin_38114673 2019-09-19
  • 打赏
  • 举报
回复
引用第7楼jorneyr于2011-11-21 10:53发表的  :main函数中使用上面的代码,让Qt程序默认使用UTF-8编码显示字符,“想省事就别在代码中使用中文“,不占同这一点,呵呵 呵呵,不管你赞同还是不赞同,5楼和6楼的setCodecForXXX的用法都存在多种问题!!也可以说用法错误(或者说只在某种特定情况下工作)

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧