QT的编码设置-你要国际化之前的明白的知识

来源:互联网 发布:js input 赋值 编辑:程序博客网 时间:2024/05/21 22:44

字符集

如果你要在C++/QT中正确使用中文,必须要了解下面两个概念:

源码字符集(the source character set)

源码文件是使用何种编码保存的

执行字符集(the execution character set)

可执行程序内保存的是何种编码(程序执行时内存中字符串编码)

 

 也就是说,编码有两种,一种是你的编译源文件的编码,一种是你的程序中字符串的编码,例如,qt中QString字符串的编码,而如果国际化相关的就是第二种,你要你的文本显示中文,也就是说你的执行字符集需要时中文的编码,要么GBK要么其他的中文编码等等。

怎样设置两种编码

1.源文件编码

Qt Creator -> 工具 -> 选项 -> 环境 -> 默认文件编码
决定cpp文件编码
不同平台下,此设置要相同,如果不同,cpp文件会有好多乱码,且不能被编辑,但不影响编译;
重新打Qt Creator 此设置才能生效
这个推荐选<UFT-8>,因为linux下是这个;
如果不同:
选择<根据编码重新载入>这步选择文件的原始编码
再<根据编码保存>这步选择目标编码

2.执行程序编码

这个需要用代码设置,但是现在qt5做了变化,网上很多答案一来就是这下面三句,有效果吗?

QTextCodec::setCodecForTr(...)QTextCodec::setCodecForCStrings(...)QTextCodec::setCodecForLocale(...)


这个请参看这篇比较好的文章,以及关于怎么设置执行程序编码的问题,不要盲目。

文章标题:QTextCodec中的setCodecForTr等终于消失了 (Qt5)

地址:http://blog.csdn.net/dbzhang800/article/details/7325698

0 0
原创粉丝点击