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

VS Code终端打印印地语字符显示??的解决办法求助

问题解决:VS Code终端Java输出非ASCII字符显示??

核心原因

Java的System.out默认编码可能未适配终端的UTF-8编码,即便终端代码页设为65001,Java仍可能沿用系统默认编码(如GBK)导致字符转码失败。

解决方案

1. 为Java运行时强制指定UTF-8编码

  • 打开VS Code的Run and Debug面板,编辑或创建launch.json配置文件,在对应Java启动项中添加VM参数:
    {
        "type": "java",
        "name": "Launch Current File",
        "request": "launch",
        "mainClass": "${file}",
        "vmArgs": "-Dfile.encoding=UTF-8"
    }
    
  • 若需全局生效,可在VS Code的settings.json中添加环境变量配置:
    "terminal.integrated.env.windows": {
        "JAVA_TOOL_OPTIONS": "-Dfile.encoding=UTF-8"
    }
    

2. 确保终端启动时自动切换UTF-8编码

确认settings.json中的终端配置已正确设置:

"terminal.integrated.profiles.windows": {
  "Command Prompt": {
    "path": "cmd.exe",
    "args": ["/K", "chcp 65001"]
  }
},
"terminal.integrated.defaultProfile.windows": "Command Prompt"

3. 验证终端字体对特殊字符的支持

部分字体(如Consolas)对印地语组合字符、特殊符号的支持有限,可尝试更换字体:
在settings.json中修改终端字体:

"terminal.integrated.fontFamily": "Segoe UI, Noto Sans Devanagari"

4. 检查Java默认编码

运行以下测试代码,确认当前Java环境的默认编码是否为UTF-8:

public class EncodingTest {
    public static void main(String[] args) {
        System.out.println("Java默认编码: " + System.getProperty("file.encoding"));
    }
}

若输出不为UTF-8,需确保上述VM参数或环境变量已生效。

为何Python/Eclipse可正常显示?

  • Python在终端输出时会自动适配终端的编码设置,无需额外配置;
  • Eclipse的控制台基于Java实现,默认已将输出编码设为UTF-8,无需手动指定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 02:45:15