Qt编码问题,求助!
windows下代码编辑器中默认的编码是GB2312
Qt编译的时候结果变成乱码。
所以使用:
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb2312"));
其中第二个我用的最多,作用是:把代码编辑器里的常量string:“中文”放到QString中时采用gb2312编码。
1,我想知道:如果不设置这个,把常量string"中文"放到QString中时默认的是什么编码?把代码编辑器的编码调成那个不就一劳永逸了么?
把windows下写都代码放到linux下编译时,代码编辑器中默认utf-8编码,会弹出一框提示你之前的代码编码格式无法识别请设置,设置为gb2312后恢复正常。
但是:有关文件操作的内容。例如:新建文件QFile file("中文")这样的代码新建都文件名会是乱码的。我想应该是系统默认都是utf-8编码导致的。2,这个问题该怎么解决呢?
[解决办法]
你就用utf-8进行文件编码就行了
把vs里的编码方式设置下
或者windows下也用qt creator开发