C程序中文乱码问题

Windows系统下默认控制台编码格式为936(ANSI/OEM - 简体中文 GBK),而C程序文件默认编码格式为utf-8,由于编码格式不一致,程序运行时往往会出现中文乱码的情况

中文乱码

解决方案一

直接修改源代码,增添头文件<windows.h>和调用API函数SetConsoleOutputCP(65001),设置控制台程序输出的代码页编码为utf-8格式

方案一

解决方案二

以记事本方式打开C程序文件,点击【文件】–【另存为】,选择ANSI编码格式并替换原文件

方案二

解决方案三

如果是在vs code运行出现中文乱码,一般是将编码格式从utf-8修改为gbk、gb2312或者gb18030等即可

方案三

解决方案四

参考博客:https://blog.csdn.net/lzyws739307453/article/details/89823900

如果不想每次在vs code运行C程序文件都修改编码格式,可以将cmd.exe添加到系统环境变量,并直接修改setting.json配置文件。

步骤一:将cmd.exe添加到系统环境变量。将C:\Windows\System32 添加到【系统变量】–【path】目录下

添加环境变量

步骤二:修改vs code的setting.json配置文件。在setting.json配置文件中插入如下指令:

    "files.encoding": "utf8",
    "terminal.integrated.profiles.windows": {
        "Command Prompt": {
            "path": "C:\\Windows\\System32\\cmd.exe",
            "args": ["-NoExit", "/K", "chcp 65001"]
        },
        "PowerShell": {
            "path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
            "args": ["-NoExit", "/C", "chcp 65001"]
        }
    },
    "terminal.integrated.defaultProfile.windows": "Command Prompt"

设置setting.json

解决方案五

如果是在vs2022运行出现中文乱码,可以通过自定义命令,设置高级保存选项,将编码格式修改为gbk、gb2312或者gb18030等即可

方案五

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐