Qt5与中文,windows平台下中文解决方案


 

         环境:Qt5.2+QtCreator+VS2010,并且VS2010安装了sp1的补丁。操作系统Windowsxp。

 

         虽然说Qt中的字符串默认提供了对uft-8的支持,但这对我们程序要正确的显示中文字符是远远不够的,要想保证程序能正确的显示中文必须保证我们程序的源码字符集和执行字符集都能支持中文(参考博文:http://blog.csdn.net/dbzhang800/article/details/7540905),因此这里给出中Windowsxp平台下怎么实现完美的中文支持。

 

         1 源码字符集:因为是windows平台,所以源码要保存为utf-8并且带BOM的格式。

         2 执行字符集:同样因为是windows平台,因此需要在使用了中文字符串的所有cpp文件中都加入#pragma execution_character_set("utf-8"),由此来保证程序的执行字符集为utf-8。注意:如果出现未知的杂注是因为vs2010不认识该语句,打上vs2010 sp1补丁即可。该补丁最好安装上,否则还是有乱码。感觉又被微软坑了。

 

           按理说,按照上面的两步做完,就能支持中文字了。这里再多说一点:

           不要在乱用tr了,在Qt5中我们尽量在需要用到国际化的地方使用tr,这样带来的好处只是翻译的使用能少翻译几个字符串,不是吗。另外因为Qt5中已经去掉了QTextCodec::setCodecForTr,因此如果我们仅仅用tr包裹字符串(比如:tr("序号")),而不做翻译(用Qt的Linguist翻译),显示的时候还是乱码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值