QT乱码总结0.Qt乱码产生因素
https://blog.csdn.net/liujiayu2/article/details/103167953

QT乱码总结1.Unicode 和 UTF-8
https://blog.csdn.net/liujiayu2/article/details/103168020

QT乱码总结2.gbk和ANSI和gb2312的区别
https://blog.csdn.net/liujiayu2/article/details/103168168

QT乱码总结3.UNICODE有无BOM
https://blog.csdn.net/liujiayu2/article/details/103168236

QT乱码总结4.细谈本地编码
https://blog.csdn.net/liujiayu2/article/details/103168249

QT乱码总结5.万能解决方案
https://blog.csdn.net/liujiayu2/article/details/103168272

QT乱码总结6.编码测试和总结一
https://blog.csdn.net/liujiayu2/article/details/103168289

QT乱码总结7.编码测试和总结二
https://blog.csdn.net/liujiayu2/article/details/103168301

QT乱码总结8.编码测试和总结三
https://blog.csdn.net/liujiayu2/article/details/103168307

QT乱码总结9.编码测试和总结四
https://blog.csdn.net/liujiayu2/article/details/103168317

QT乱码总结编码测试工程:
https://download.csdn.net/download/liujiayu2/11987065

什么是本地编码?

每一个操作系统都有本地编码,这个依照操作系统不同而不同,比如我们常见的window简体中文版操作系统,本地编码默认是gbk编码。举例说明一下本地编码:我们在桌面新建一个文本文件“测试文本.txt”,写入内容“123我爱你”,如图:

然后切换本地编码为美国英语。重写打开一下,看看里面内容:

我们看到同样一个文本,切换本地编码就表现大不相同。有的问会问了,好像中文路径名字都是一样的,这是因为windows内部统一采用UTF-16编码(网上看到的,确定性待分析)

如何查看本地编码?

方式1:cmd命令下输入chcp,如下图:

936就代表中文简体(GBK编码)。

方式2:

打开 控制面板->区域和语言->管理->更改系统区域设置,看到如下图:

现在采用的就是中文简体编码。

如何更改本地编码?

方法1,在上述描述中的控制面版里面改,改之后重启操作系统,整个操作系统默认编码都改变了。我们之前介绍什么是本地编码中更改本地编码采用的就是这种手段。

方法2,QTextCodec::setCodeForLocal(),这个只能对当前应用有效,并非全局设置。

Qt中本地编码有什么用,哪些动作和本地编码相关?

qt中有两个常用的函数和本地编码息息相关,QTextCodec::setCodecForLocal()设置本地编码。QString::fromLocal8Bit()从本地编码初始化一个字符串。比如说:文件采用ANSI编码,里面有个汉字字符,采用QString::fromLocal8Bit()包括,对QTextCodec::setCodecForLocal()不r进行设置,或者这是成本地编码,或本地编码的的方式:

QTextCodec::codeForLocal或者QTextCodec::codeForName("system")如果是window简体中文版操作系统也可以写成QTextCodec::codeForName("gb2312")。

举一个反面教材:

文本文件(ANSI)

+  QString::fromLocal8Bit()

+  QTextCodec::setCodecForLocal(QTextCodec::codeForName("utf-8"))

+  简体中文版操作系统

= 乱码。

原因:本来清一色的 ANSI,却来了个UTF-8。红色标注的选项多次一举,不设置就会正常显示。

QT乱码总结4.细谈本地编码相关推荐

  1. QT乱码总结9.编码测试和总结四

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  2. QT乱码总结8.编码测试和总结三

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  3. QT乱码总结7.编码测试和总结二

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  4. QT乱码总结6.编码测试和总结一

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  5. QT乱码总结5.万能解决方案

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  6. QT乱码总结3.UNICODE有无BOM

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  7. QT乱码总结2.gbk和ANSI和gb2312的区别

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  8. QT乱码总结1.Unicode 和 UTF-8

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

  9. QT乱码总结0.Qt乱码产生因素

    QT乱码总结0.Qt乱码产生因素 https://blog.csdn.net/liujiayu2/article/details/103167953 QT乱码总结1.Unicode 和 UTF-8 h ...

最新文章

  1. Spring:一个Java框架15年的演化
  2. git记住用户名和密码
  3. 数字vlsi芯片设计_【数字逻辑 | 数字逻辑导论】课程导论
  4. Android移动开发之【Android实战项目】渐变的TextView小漂亮代码
  5. leetcode算法题--左旋转字符串
  6. HP DL 140 G3磁盘阵列的配置
  7. 013PHP文件处理——filemtime filectime fileatime date_default_timezone_set touch
  8. JAVA代码覆盖率工具JaCoCo-原理简单分析
  9. Servlet 与 Ajax 交互一直报status=parsererror
  10. android rn 和webview,RN Webview与Web的通信与调试
  11. css布局方式_网页布局都有哪种?一般都用什么布局?
  12. 【Matlab】Matlab 读写TIFF图像
  13. Django ORM 常用的查询方法
  14. xshell 常用配置_Xshell连接报Connection closed by foreign host错误的解决办法
  15. QT+CUDA7.5+UBUNTU14.04
  16. Mysql删除数据报外键约束解决方法
  17. 安卓一键清理内存_一键深度清理手机内存,从此和卡顿再见
  18. 谭浩强第五版课后习题答案-----第三章
  19. 国内的 App 推广渠道有哪些?
  20. ArchLinux Plasma 简洁优雅桌面环境设置

热门文章

  1. spring boot 会默认加载DataSourceAutoConfiguration这个类
  2. Executor家族的辨析
  3. 利用solr实现商品的搜索功能
  4. 私有属性和方法-通过父类方法间接访问
  5. Spring Environment
  6. zookeeper分布式锁避免羊群效应(Herd Effect)
  7. 圆方圆python入门:如何学习(二)
  8. 解决ssh远程连接错误问题
  9. chapter3.1封装和解构
  10. 用Windows Server实现软件定义存储之存储空间直连