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

Java在Windows命令行无法正确显示波斯文的问题求助

问题:如何让Java程序在Windows命令行正确显示波斯文?

我的代码

class Hello{
    public static void main(String[] arg)throws Exception{
        System.out.println("Hello");
        String str = "سلام";
        System.out.println(new String(str.getBytes("UTF-8")));
    }
}

编译命令

javac -encoding UTF8 Hello.java

执行输出

C:\Users\Windows\Desktop>java Hello
Hello
ط³ظ„ط§ظ…

当前命令行代码页

执行chcp命令显示:Active code page: 65001

解决方法

  • 移除代码中多余的编码转换操作,直接输出字符串即可,修改后的代码如下:
    class Hello{
        public static void main(String[] arg)throws Exception{
            System.out.println("Hello");
            String str = "سلام";
            System.out.println(str);
        }
    }
    
  • 执行Java程序时,指定输出编码为UTF-8,使用命令:java -Dfile.encoding=UTF-8 Hello
  • 确保命令行窗口使用支持波斯文的字体:右键命令行窗口标题→选择「属性」→切换到「字体」选项卡,选择「Consolas」或「Lucida Console」等支持Unicode的字体,点击确定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:53:12