VSCode无法输出非ASCII字符(如℃、₱)的问题求助
解决C语言printf输出₱符号乱码问题
你的问题核心是终端编码与程序输出编码不匹配,或是终端字体不支持目标字符导致的,以下是具体解决步骤:
1. 修正VSCode集成终端的编码设置
打开VSCode设置(快捷键Ctrl+,):
- 若为Windows系统,搜索
terminal.integrated.defaultProfile.windows,将默认终端切换为PowerShell,然后在终端执行命令:
此命令会临时将终端编码切换为UTF-8。若要永久设置,搜索chcp 65001terminal.integrated.env.windows,添加配置:"terminal.integrated.env.windows": { "CHCP": "65001" } - 若为Linux/macOS,终端默认已为UTF-8,可跳过此步。
2. 在代码中强制指定UTF-8输出
修改代码,通过设置locale确保输出编码统一为UTF-8:
#include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, "en_US.UTF-8"); // Windows环境可尝试"English_US.UTF-8" printf("500 ₱\n"); return 0; }
也可使用宽字符输出方式:
#include <wchar.h> #include <locale.h> int main() { setlocale(LC_ALL, ""); wprintf(L"500 ₱\n"); return 0; }
3. 确保终端字体支持₱符号
检查VSCode终端字体设置:搜索terminal.integrated.fontFamily,设置为支持Unicode的字体组合,比如:
"Consolas, 'Segoe UI Symbol', monospace"
其中Segoe UI Symbol包含大量Unicode特殊符号,可正确显示₱。
4. 验证Code Runner配置
打开Code Runner设置,搜索code-runner.executorMap,确认C语言执行命令无编码冲突参数,默认命令如下,无需额外修改:
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
内容的提问来源于stack exchange,提问作者CodeCR0W
相关产品推荐
相关产品推荐

