• 2483阅读
  • 4回复

[提问]VS2015下QTextBroswer显示汉字乱码 [复制链接]

上一主题 下一主题
离线lieber
 

只看楼主 倒序阅读 楼主  发表于: 2019-05-09
因为添加三方库需要,从自带的MingW转到VS中,按照百度到的方法,文件编码存为"UTF-8带签名",添加#pragma execution_character_set("utf-8") ,控件已经没有乱码编译器也不报错。
但是通过TextBroswer不断获取操作信息,显示界面上(代码如图),就乱码了......


心态爆炸,不知道怎么解决了
离线青空飞羽

只看该作者 1楼 发表于: 2019-05-10
你传入的信息是UTF-8编码的吗
离线lieber

只看该作者 2楼 发表于: 2019-05-10
试了setText(str.toUtf8()),还是不行
奇怪的是当前类里直接setText()是正常的,从另外类里传来的QString就不行,如下图(下面乱码的TextBroswer我设置了无边框)

离线backstree

只看该作者 3楼 发表于: 2019-09-02
#ifdef WIN32  
#pragma execution_character_set("utf-8")  
#endif
用这个试试,我一直都是用这个
离线staryingling

只看该作者 4楼 发表于: 2019-10-19
//文字编码转换,解决界面显示中文乱码
    std::string DispGBKCharacter(const char *s)
    {
        QString Tip(tr(s));
        QTextCodec *gbk = QTextCodec::codecForName("GB2312");
        std::string TipStr = gbk->fromUnicode(Tip).data();
        return TipStr;
    }
可以试下用这种方法,我是用着这种解决乱码的
快速回复
限100 字节
 
上一个 下一个