keil 使用UTF8格式的文件,但是printf打印中文已经是乱码的问题

📅 2026/7/15 12:58:16 👁️ 阅读次数 📝 编程学习
keil 使用UTF8格式的文件,但是printf打印中文已经是乱码的问题

文件格式是UTF8 无bom格式
打开文件显示是正常的
编译器选择的是ANSI格式
编译依旧产生警告

在 Project → Options → C/C++ → Misc Controls 添加
--no-multibyte-chars

就可以解决;

但是ai给我这个方案,我还没有尝试
–wide-chars

示例是这样的wchar_t *str = L"测试"; // 宽字符 Unicode 字符串

选项作用对源文件中文的处理典型用法
--no-multibyte-chars禁止多字节字符编译器报错或警告保证严格 ASCII / ANSI
--wide-chars允许宽字符wchar_tL""支持 Unicode支持 Unicode 字符串或国际化