
最近在网上看到很多人问为什么用Linux编译C语言或者C代码时汉字输出为乱码。对此问题网上有很多解决办法其中有些办法很有效但对于刚刚接触C语言或者Linux系统的小白来说部分办法很难理解。下面笔者给大家提供一种简单而容易理解的办法。这类问题多发生在虚拟机Windows和Linux文件互传时所以接下来的内容都是基于宿主机为Windows的Linux虚拟机。首先笔者在Windows下创建一个TXT文件并输入简单的C语言代码保存并命名为“a.c”拖动到Linux桌面运行发现输出为一行乱码。改动前后一起运行的图片见后面正确运行这是为什么呢这是因为windows记事本编码方式默认为ANSI但Linux编译时按照UTF-8编译所以为了实现汉字支持只需另存为UTF-8编码就可以了。命名为a1.c见下图将文件拖动到Linux系统桌面运行结果如下