Qt编码方式

本文介绍了Qt编程中遇到的中文乱码问题及其两种解决方案:1. 字符串单独处理(非推荐);2. 注意源码文件和文本编辑器的编码匹配,如通常使用UTF-8编码以确保广泛支持。同时,讨论了g++和MSVC编译器对源码编码的处理方式,强调了解这些因素对于避免乱码至关重要。

中文乱码算是一个常见的问题,本文提供两种解决方案
1 对字符串单独进行处理(不推荐)

QString str=QString::fromLocal8Bit("阿萨德");//使用此函数进行转码以显示正常(本地语言方式)
QString str=QString::fromUtf8("阿萨德");//qt还提供了从其他编码方式转换成QString的方法
QString str=QString::toUtf8("阿萨德");//还可以将QString转换为其他编码方式

2 不同的文本编辑器可能使用的是不同的编码标准,如使用windows自带的记事本,其编码方式就是GBK,所以在qt编辑器中打开记事本写的cpp文件(或其他文本文件)会显示乱码
以上概念不仅适用于文本编辑器,也适用于任何显示界面的程序,如用记事本写的编码方式是GBK,cmd使用的也是GBK,所以编译后输出的中文可以正常显示
此处还要提一下编译器,就我所知提两个例子,一个是g++编译器,它不会对源码进行转码,即源码是什么编码,就是什么编码(如记事本写的GBK,那编译出来就是GBK);一个是MSVC,它会根据字符串的类型(如char、wchar等)来进行转码,一般都是ANSI或Unicode格式的编码
所以要解决乱码问题,一个点在于源码的编码方式,一个点在于编译器的特性,最后就是最终显示的界面所使用的编码方式
我们可以通过Qt编辑器来设置源码文件的编码方式(或者使用其他编辑器也可以),一般我们都采用UTF-8来编写源码,以获得最广泛的支持
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值