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

本文详细介绍了如何在Visual Studio中设置默认的UTF-8编码格式,以实现代码的国际化。同时,提供了五种解决中文乱码问题的方法,并讨论了各种方法的适用场景及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先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种支持中文常量;

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值