新手QT编程控件下中文乱码有关问题
新手QT编程控件上中文乱码问题
QPushButton button("退出");
程序运行后 显示的button上推出字样为乱码
请问哪位大侠知道怎么解决
------解决方案--------------------
编码的问题,在main函数的第二行加上如下代码:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
意思是用tr宏或者QString对象的时候,其中的字符按照gb18030解释
gb18030是*的一个字符集编码标准,类似的还有gb2312,gbk
------解决方案--------------------
得看你的源码使用的是什么编码。
如果源码使用 UTF-8 编码,则 QTextCodec 也应该设置为 UTF-8 .
这是一个源码使用UTF-8编码的例子:
QPushButton button("退出");
程序运行后 显示的button上推出字样为乱码
请问哪位大侠知道怎么解决
------解决方案--------------------
编码的问题,在main函数的第二行加上如下代码:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
意思是用tr宏或者QString对象的时候,其中的字符按照gb18030解释
gb18030是*的一个字符集编码标准,类似的还有gb2312,gbk
------解决方案--------------------
得看你的源码使用的是什么编码。
如果源码使用 UTF-8 编码,则 QTextCodec 也应该设置为 UTF-8 .
这是一个源码使用UTF-8编码的例子:
- C/C++ code
#include <QtCore/QCoreApplication> #include <QTextCodec> #include <QTextStream> #include <stdlib.h> // system int main(int argc, char *argv[]) { // or utf8 utf-8 UTF8 QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::setCodecForTr(codec); QCoreApplication a(argc, argv); QString str("世界,你好!"); QTextStream out(stdout); #ifdef _WIN32 out.setCodec("GBK"); #endif out << str << endl; #ifdef _WIN32 system("pause"); #endif return 0; }