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
相关产品推荐
相关产品推荐

