• 11925阅读
  • 2回复

[提问]QTextBrowser中文乱码问题! [复制链接]

上一主题 下一主题
离线jabber
 
只看楼主 倒序阅读 楼主  发表于: 2008-04-21
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我在一个widget中嵌入一个textbrowser,并且在textbrowser中设置了简单的html代码
并且在该widget的初始化代码中加如了如下语句:
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
但是中文的显示还是乱码
我就纳闷儿了
那位大侠帮忙看看啊
不甚感激
[ 此贴被jabber在2008-04-21 15:43重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2008-04-21
这样未必能有用的吧,
关键是setHtml()或者setPlainText()的时候传入进去的字符串内容要保证是正确的内码内容。也就是说你确保你设置的html内容是正确的内码。

如果是在代码中用的中文,请查阅本版置顶的帖子中讲到的方法。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jabber
只看该作者 2楼 发表于: 2008-04-22
谢谢啦
问题已经解决
加入如下语句
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
  QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
  QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));


并且在出现QString的地方用QString::fromUtf8()代替就解决了

引用第1楼XChinux于2008-04-21 17:58发表的  :
这样未必能有用的吧,
关键是setHtml()或者setPlainText()的时候传入进去的字符串内容要保证是正确的内码内容。也就是说你确保你设置的html内容是正确的内码。
如果是在代码中用的中文,请查阅本版置顶的帖子中讲到的方法。
快速回复
限100 字节
 
上一个 下一个