admin管理员组

文章数量:1516870

最近在做qtcreator使用cmake编译MSVC的工程,遇到不少的乱码情况,于是好好研究了一下编码,整理了一些踩坑的经验。

一、中文乱码的来源

目前常见到的中文编码其实就两种,UTF8和GBK。

我们遇到的绝大多数乱码,就是系统使用中文时,这两种编码被解析成了另一种。

在nodepad++中做个实验如下:

比如一个UTF8编码的“ 你好 ”,使用GBK格式编码后显示如下:

一个GBK格式的“ 你好 ”,使用UTF8编码后显示如下:

在cmd终端和powershell中基本也是同样的效果:

二、对乱码问题的分析

当遇到乱码情况时,从乱码内容就可以看出一些端倪。

首先要知道,GBK主要针对中文编码,所以即使胡乱编码,大概率还是编成了一堆汉字,就像上文的“浣犲ソ”。

然后,UTF8是万国码,预留了很多空闲编码位置,所以乱编码的时候,就很容易编成了未定义的字符。

本文标签: 使用命令中显你好