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应用程序中文显示就正常了,怪!怪!怪!换回正常体试之!那个设置的地方都是乱码,把字体改大些,正常的中文显示出来了……
亲~,这真是个“天大的秘密”哦……