• 5809阅读
  • 4回复

[提问]中文在没有安装QT的操作系统显示为乱码,请高人指点! [复制链接]

上一主题 下一主题
离线radon2awp
 

只看楼主 倒序阅读 楼主  发表于: 2010-07-03
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-01-07) —
代码很简单,一个QDialog,里面一个QLabel,但在我做开发的机子上是好的,拿到没有安装开发环境的机子上就显示为乱码了。
请达人指点一下。GB2312和GBK都试过了,只在我自己的操作系统上正常。
#include <QtGui/QApplication>
#include <QTextCodec>
#include <QDialog>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextCodec *codec = QTextCodec::codecForName("GB2312");

    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);

    QDialog dlg;
    QLabel lb(&dlg);
    lb.setText("你好");
    dlg.show();
    return a.exec();
}
离线ninsun

只看该作者 1楼 发表于: 2010-07-03
QTextCodec *codec = QTextCodec::codecForName("system");

试试这个...

还有, 中文最好是用 tr("中文") 这种格式.
离线dbzhang800

只看该作者 2楼 发表于: 2010-07-03
离线beaujolais
只看该作者 3楼 发表于: 2010-07-04
习惯使用QTranslator
离线radon2awp

只看该作者 4楼 发表于: 2010-08-03
感谢!
用1楼的办法搞定了.
同时感谢2楼,加入插件才是王道
快速回复
限100 字节
 
上一个 下一个