• 7558阅读
  • 10回复

[提问]两个窗口,汉字编码一个会乱,一个不会乱,怎么回事呢?急 [复制链接]

上一主题 下一主题
离线solin
 
只看楼主 倒序阅读 楼主  发表于: 2010-02-17
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我是windows下的环境:
一个是登录窗口,一个是主界面, 在main中设置了编码为    
QTextCodec *tc=QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForTr(tc);
    QTextCodec::setCodecForLocale(tc);
    QTextCodec::setCodecForCStrings(tc);
开始的时候打开登陆界面,可以正常显示汉字,
但是进入主界面后,主界面就会出现乱码
我就在主界面里设置为gb18030
即为:
    QTextCodec *tc=QTextCodec::codecForName("gb18030");
    QTextCodec::setCodecForTr(tc);

接着就发生转换了。变成主界面可以正常显示,但是登陆界面不能正常显示了。


这个有点急,请各位出出办法,不胜感激。。。。
离线zzh

只看该作者 1楼 发表于: 2010-02-21
都用utf8尝试一下
离线午小夜

只看该作者 2楼 发表于: 2010-02-21
把出現漢字的代碼貼出來看看。
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线cspp

只看该作者 3楼 发表于: 2010-02-22
通过designer画的?代码再多点。
离线solin
只看该作者 4楼 发表于: 2010-02-22
出现的错误的代码是:
用的是Qt Creater编程的。
离线午小夜

只看该作者 5楼 发表于: 2010-02-22
代码,哥哥,不是效果图.
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线solin
只看该作者 6楼 发表于: 2010-02-23
对了,经过我的思考,过程
是这样的:
刚开始,第一个窗口是在Linux下的Qt开发的,开发到一半,然后就拿到另一台PC上是windows 的Qt下继续开发。第二个窗口也就是在windows下建立的。所以我不知道怎么把不在同一个环境下建立的窗口编码,统一起来。
所以造成了一个正常一个不正常的麻烦情况。
离线solin
只看该作者 7楼 发表于: 2010-02-23
希望不用再重新去建立窗口,跟代码。
离线李如强
只看该作者 8楼 发表于: 2010-02-23
lz做的停车场系统?
天之道,勤能补拙
离线wangqy
只看该作者 9楼 发表于: 2010-02-23
楼主可以看看Qt Creater里左边那一栏,点击Projects,这里可以看到工程的设置。看到最下面的那个 Editor Settings,这里可以指定字符编码,我这里显示的是System,那么,程序里应该写作

  1.     // 设置字符编码
  2.     QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));
  3.     QTextCodec::setCodecForCStrings(QTextCodec::codecForName("System"));
  4.     QTextCodec::setCodecForLocale(QTextCodec::codecForName("System"));


我之前也是出现这个问题,改了之后就好了。楼主可以试试……

离线wato
只看该作者 10楼 发表于: 2010-03-01
请问楼主解决了没有?
快速回复
限100 字节
 
上一个 下一个