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

Java代码在Windows命令行打印特殊字符显示为问号的问题

Windows命令提示符中Java打印字符画乱码的解决方法

问题出在编码不匹配——Windows命令提示符默认使用GBK(或GB2312)编码,而你代码里的特殊字符(比如・、ㅅ、っ、 ̄这些)是UTF-8编码的,直接输出会因为编码不兼容导致乱码。以下是两种解决办法:

方法1:修改Java程序的输出编码

在输出字符画前,把System.out的编码设置为GBK,和命令提示符的默认编码匹配:

import java.io.PrintStream;

public class javaClass {
    public static void main(String [] arg) throws Exception {
        // 设置输出编码为GBK,适配Windows命令提示符
        System.setOut(new PrintStream(System.out, true, "GBK"));
        
        String row1 = "A____A";
        String row2 = "|・ㅅ・|";
        String row3 = "|っ c|";
        String row4 = "|   |";
        String row5 = "|   |";
        String row6 = "U ̄ ̄U";
          
        System.out.println(row1);
        System.out.println(row2);
        System.out.println(row3);
        System.out.println(row4);
        System.out.println(row5);
        System.out.println(row6);
    }
}

注意:main方法需要声明throws Exception,因为设置编码可能触发不支持编码的异常。

方法2:修改Windows命令提示符的编码

  1. 打开命令提示符,执行以下命令切换到UTF-8编码:
chcp 65001
  1. 重新编译并运行你的Java代码,特殊字符就能正常显示。
    如果切换编码后字体显示异常,右键命令提示符窗口标题栏→属性→字体,选择支持UTF-8的字体(比如Consolas、微软雅黑)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:10:27