L,wang

坚持改革,开放人性的弱点……
linux,qt4.8 opensource 中文乱码

#linux 2.6.32-220.13.1.el6.centos.plus.i686, qt-4.8.1
#应用程序的中文显示问题
 
#History: 2012/05/13 23:20   liang wang                  first release

#History:2012/05/19             liang  wang                   second release    
 

    近期试图从windows转向linux进行qt开发。 下了qt-4.8.1 opensource,好不容易编译通过!(编译的输出信息太多了,不少警告,总之是装了各个需要的库,所幸没报错!)
    英文环境下:

    qmake,assistant,desinger,……可以正常运行!

   配置中文环境:
   通过yum 安装中文支持包,gnome,kde桌面都可以正常显示中文: echo $LANG;得到: $LANG=zh_CN.utf8.
    
   某日午后, 从windows下拷了份程序到linux下进行编译,调试成功!但一运行,傻了眼,有关中文显示部分全是乱码!网上试了各种方法, 如下

    1.设置linux系统编码支持GBK,GB18030……,

    2.在应用程序前面加
    QTextCodec *codec = QTextCodec::codecForName("GBK");
    QTextCodec::setCodecForTr(codec);

   3.拷windows下的字体simsun.ttc到qt/lib/fonts下,结果发现4.8的安装目录下压根没有fonts这个目录,添加目录拷也没用……等等。

   以上方法做后还是显示“乱码,乱码”,重启也试了,总之无效……
   真烦!启初以为是CentOS自带的qt-3.3在扰乱! 结果也不然!

   两天之后,发现qt-4.8.1的bin下有个qtconfig程序可以设配置(天啊,还是对Qt不熟悉啊!),包括字体,看到有关中文显示的几种字体都像是乱码,添加试
之,奇怪的发现用倾斜体,则qt应用程序中文显示就正常了,怪!怪!怪!换回正常体试之!那个设置的地方都是乱码,把字体改大些,正常的中文显示出来了……

   亲~,这真是个“天大的秘密”哦……

posted on 2012-05-14 00:03  L,wang  阅读(1547)  评论(0编辑  收藏  举报