解决VS编写的代码拷贝至VC6.0时乱码的问题

一、编码原理

【ANSI】
在windows系统下,其所谓的ANSI编码实际上是对应当前系统 locale 的编码。各个地区不同,在中国地区默认是GBK,在台湾地区默认是BIG-5。
【utf-8】
在windows系统下,如果用自带的记事本另存为UTF8编码,实际上记事本会在其头部加上一个BOM符号,方便记事本等windows程序分辨其编码格式,但这种带BOM头的文件给其他系统或网站使用时,可能出一些小问题,所以不建议使用自带的记事本存储UTF8格式的文本。
【如何查看一个文件是什么编码】
最简单的方式就是用自带的记事本打开文件,点击另存为,看其默认格式是什么就好了。
专业的方式用UE工具打开文件,在下方就可以看到编码格式,如GBK。

二、乱码问题

  • 我用VS写的源代码,发到别人的电脑,别人用VC++6.0打开,经常发生乱码。

三、分析

打开我用VS写的的源代码,发现其以UTF8编码。
用他们VC++6.0新建一个普通项目,把他这个不会乱码的项目的cpp文件拷贝过来,分析其编码,发现其是GBK编码。得出结论,他的VC6默认以GBK打开源代码。
所以当我把我的UTF8编码的源代码发给他的时候,他的VC6以ANSI-GBK编码打开此文件,看到的就是乱码。
在这里插入图片描述
在这里插入图片描述

四、解决方案

将源代码用UE工具打开,点击另存为,选择ANSI,点击确定,随后UE工具会提示选择使用ANSI中的哪种编码,选择GBK编码。然后把这份GBK编码的源代码发给对方即可。
在这里插入图片描述

发布了56 篇原创文章 · 获赞 5 · 访问量 7437

猜你喜欢

转载自blog.csdn.net/forchoosen/article/details/103624870