环境工具说明
win11 + gcc编译器+c语言+Notepad++
C语言基础框架
//c语言基础框架
#include <stdio.h> // 编译预处理指令
int main() // 入口函数 主函数
{ // 程序开始的标识
printf("想要做的事情");
return -1; // 返回给调用者(操作系统)的值
} // 程序结束的标识
思考 中文乱码问题
上图打印结果中,Notepad++编写的c语言默认是utf-8的(在win11系统下编码的),保存后在win系统控制台输出的是乱码,但是在Notepad++中将编码格式从utf-8修改为“转为ANSI”编码,保存后控制台乱码问题解决。
这里纠结了下他的原因,为啥这里会出现中文乱码呢?
然后百度 嗖嗖嗖 找到了一篇我比较能接受的文章:
https://www.cnblogs.com/woyujiezhen/p/14818557.html#:~:text=gcc%E7%BC%96%E8%AF%91C%E4%BB%A3%E7%A0%81%E5%90%8E%EF%BC%8C%E8%BE%93%E5%87%BA%E4%B9%B1%E7%A0%81,%E5%BE%88%E5%A4%A7%E5%8F%AF%E8%83%BD%E6%98%AFgcc%E4%B8%8D%E6%94%AF%E6%8C%81utf-8%EF%BC%8C%E6%8A%8AC%E4%BB%A3%E7%A0%81%E6%96%87%E4%BB%B6%E6%94%B9%E6%88%90GBK%E5%8D%B3%E5%8F%AF%E3%80%82%20%E5%8D%B3IDEA%E5%BC%80%E5%8F%91Java%E6%98%AF%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E5%85%A8%E9%83%A8%E7%9A%84UTF-8%2C%E6%8A%8A%E8%BF%99%E4%BA%9BUTF-8%E6%94%B9%E4%B8%BAGBK.%E5%8D%B3%E5%8F%AF%E3%80%82
大致的意思是:
作者怀疑中中文乱码可能是gcc不支持utf-8,但是后来通过类比其他的编译器,比如"clang 中文乱码"、“powershell中文乱码”,又想到可能不是编译器的问题,最终才知道问题出在控制台上面
总结起来就是,编译器是包容所有编码的,只是控制台显示不支持。
严谨
上述评论这是个人学习中的陋见,只是为了个人学习记录,以便于后续复习回顾。