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

VS Code中Java打印印地语字符显示问号的配置及扩展解决方案问询

解决VS Code中Java输出印地语Unicode字符显示为问号的问题

我在VS Code中运行以下Java代码,尝试打印Unicode值2309至2362对应的印地语字符:

import java.util.*;
import java.lang.*;
import java.io.*;

public class Java1
{
    public static void main(String[]args)
    {
        int i;
        for (i = 2309; i <= 2362; i++)
            System.out.println(i + ":" + Character.toString(i));
    }
}

但运行后所有字符均显示为问号,输出如下:

2309:?
2310:?
2311:?
2312:?
2313:?
2314:?
2315:?
2316:?
2317:?
2318:?
2319:?
2320:?
2321:?
2322:?
2323:?
2324:?
2325:?
2326:?
2327:?
2328:?
2329:?
2330:?
2331:?
2332:?
2333:?
2334:?
2335:?
2336:?
2337:?
2338:?
2339:?
2340:?
2341:?
2342:?
2343:?
2344:?
2345:?
2346:?
2347:?
2348:?
2349:?
2350:?
2351:?
2352:?
2353:?
2354:?
2355:?
2356:?
2357:?
2358:?
2359:?
2360:?
2361:?
2362:?

解决方案

1. 配置Java运行时编码

问题核心是Java默认输出编码与VS Code终端编码不匹配,导致Unicode字符无法正确渲染。需修改Java运行参数:

  • 打开VS Code的launch.json文件(通过Run and Debug面板的齿轮图标进入)
  • 在配置项的vmArgs中添加编码参数:-Dfile.encoding=UTF-8
    示例配置片段:
    {
        "type": "java",
        "name": "Launch Java1",
        "request": "launch",
        "mainClass": "Java1",
        "vmArgs": "-Dfile.encoding=UTF-8"
    }
    

2. 设置终端支持印地语的字体

终端字体需包含印地语字符集,可按以下步骤配置:

  • 打开VS Code设置(快捷键Ctrl+,)
  • 搜索Terminal › Integrated: Font Family
  • 将字体设置为支持印地语的字体,例如Noto Sans Devanagari, Consolas, 'Courier New', monospace(需确保系统已安装Noto Sans Devanagari字体)

3. 确认终端编码为UTF-8

  • 在VS Code设置中搜索Terminal › Integrated: Encoding
  • 确保值设置为utf-8

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:42:01