You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10+MinGW环境下C++正确显示法语特殊字符求助

解决Windows终端下MinGW编译C++显示法语特殊字符乱码问题

问题核心是编码不匹配:Windows终端默认使用GBK(代码页CP936),而你的源代码大概率以UTF-8格式保存,MinGW默认会将字符串转换为Windows本地编码,导致特殊字符显示错乱。以下是无需编码转义的解决方案:

方案1:手动切换终端编码+编译指定输出编码

  1. 打开终端后,先执行命令切换到UTF-8编码:
    chcp 65001
    
  2. 编译代码时,添加参数指定程序输出UTF-8编码:
    g++ your_code.cpp -o output.exe -fexec-charset=UTF-8
    
  3. 运行编译后的output.exe,即可正确显示J'aime le café。

方案2:程序内自动设置终端编码

通过Windows API强制终端切换到UTF-8编码,无需手动输入命令:

#include <iostream>
#include <windows.h>
using namespace std;

int main() {
    // 设置控制台输出编码为UTF-8
    SetConsoleOutputCP(CP_UTF8);
    printf("J'aime le café");
    return 0;
}

编译时同样需要添加-fexec-charset=UTF-8参数,确保程序字符串以UTF-8输出。

注意事项

  • 确保源代码文件以UTF-8无BOM格式保存(大部分编辑器都支持设置,比如VS Code、Notepad++)。
  • 避免用GBK格式保存代码,否则跨平台或切换终端编码时会再次出现乱码问题。

内容的提问来源于stack exchange,提问作者BatteTarte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:23:15