关于vs2015集成Qt5开发环境的乱码问题总结

首先VS在新创建的cpp和h文件默认是简体中文GB2312的,为了满足平台移植,国际化的代码编程。现在都使用UTF-8格式,那就先说一下vs创建工程如何设置默认保存UTF-8编码格式:

1.在 vs打开的.cpp或.h文件页,点击 文件 -> 高级保存选项 -> Unicode (UTF-8带签名) - 代码页 65001;

2.关于中文乱码的问题总结有以下5种方式参考:

  • 1: ui.pushButton->setText(QString::fromLocal8Bit("你是按钮1"));  
  • 2: ui.pushButton_2->setText(QStringLiteral("你是按钮2"));  (推荐)
  • 3:ui.pushButton_3->setText(u8"你是按钮3");  (vs2015新增vs2013不支持)(推荐
  • 4:QTextCodec * BianMa = QTextCodec::codecForName("GBK"); (自己转换不推荐)
           ui.label->setText(BianMa->toUnicode("你是标签"));
  • 5:#pragma execution_character_set("utf-8")   (在用到中文的头文件添加即可) (推荐

在使用的时候注意事项:

1.一般使用了第5种方式之后,再使用其它方式去转,除了3其它方式都不能生效;

2.第1和第2种方式的区别在于:第1种还支持字符串常量的转换例:

    const char* info = "中文显示";
    ui.pushButton_4->setText(QString::fromLocal8Bit(info));

第2种支持中文常量;

目前转换只了解这么多,如有好的乱码处理方式欢迎留言交流。

 

 

你可能感兴趣的:(Qt,面向对象与基于对象)