QT 中文乱码解决

一、项目设置编码方式(eg:utf-8)

  1.工程pro文件增加"QMAKE_CXXFLAGS += /utf-8",若存在C代码则加入"QMAKE_CFLAGS += /utf-8"

  2.mian.cpp中设置编码:"QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); "

  3.具有中文内容所在头文件中加入:#pragma execution_character_set("utf-8") ,pro文件编码设置与此设置会产生冲突。

二、QString编解码

  1.场景,服务器和客户端需要传递中文信息。

  2.服务端若使用char*传递网络数据,则编码的时候使用msg.toStdString().data()生成char*数据。

  3.客户端使用QString::fromUtf8(msg)进行解码。

  4.注意:若中文乱码,可以在发送端或者接收端进行调试打印。

 
posted @ 2018-09-01 14:18  xianyongchao  阅读(313)  评论(0编辑  收藏  举报