AIGC标识 【C语言踩坑】Day1:printf中文乱码?原来是UTF-8和GBK在打架

今天干了啥?

今天继续学 printf,想打印一句“Hello World!我是机械准大一”来庆祝博客开通成功。

出现啥问题了?

代码明明敲对了:
```c

include <stdio.h>

int main() {
printf("Hello World!我是机械准大一\n");
return 0;
}
```
编译通过了,程序也跑起来了,结果黑色窗口里中文全变成了一堆看不懂的符号(像 ??? 或者 我 这种)。

我是怎么解决的?)

  1. 我一开始以为是代码写错了,检查了好几遍发现没问题。
  2. 后来知道了,是 Visual Studio 默认用 UTF-8 存代码,但 Windows 命令行默认用 GBK 读中文,两边对不上就乱码了。
  3. 我用的是改代码文件编码的方法:在 VS 里点“文件” -> “高级保存选项”,把编码从 UTF-8 改成 简体中文(GB2312) - 代码页 936,再重新运行就好了。

我学到了什么?

  • 电脑里的“编码”就像翻译官,写代码的人和电脑看得懂的语言得对得上才行。
  • 遇到乱码别慌,不是代码错了,是“翻译官”没匹配好。
  • 以后写代码,如果涉及中文,记得先确认编码格式。

今日吐槽()

没想到学编程的第一天,不是被逻辑难倒,是被中文显示难倒……

posted @ 2026-07-25 22:18  螺旋丸  阅读(1)  评论(0)    收藏  举报