如何让VS Code正确编解码日文字符
问题原因
- 核心诱因是Python脚本的实际存储编码和头部声明的编码不匹配:Python3默认将脚本视为UTF-8编码读取,若文件用其他编码存储且没有正确声明,就会触发解码报错;若声明的编码和实际存储编码不一致,读取到的内容本身就是乱码,输出自然异常。
- 输出阶段额外存在编码匹配要求:就算脚本读取正常,Python输出时使用的编码如果和终端的cp932编码不匹配,也会出现终端显示乱码的问题。
解决方案
方案1:适配现有cp932终端环境(无需修改终端配置)
- 第一步:统一脚本编码:点击VS Code右下角的编码标识,选择「通过编码保存」,选中
Shift_JIS(即cp932的标准别名)保存文件。 - 第二步:添加正确编码声明:在脚本第一行写入
# coding: cp932。 - 验证:直接运行
python test.py即可正常输出日文字符。
方案2:使用通用UTF-8编码(推荐,跨环境兼容性更好)
- 第一步:统一脚本编码:点击VS Code右下角的编码标识,选择「通过编码保存」,选中
UTF-8保存文件。 - 第二步:添加正确编码声明:在脚本第一行写入
# coding: utf-8。 - 第三步:配置输出编码匹配终端:运行脚本前在终端执行命令
set PYTHONIOENCODING=cp932,再运行python test.py即可正常输出。如果需要永久生效,可以在系统环境变量中新增变量PYTHONIOENCODING,值设置为cp932。
内容的提问来源于stack exchange,提问作者mma
相关产品推荐
相关产品推荐

