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

Mac终端打印特殊符号变为问号的问题求助

Mac终端打印特殊符号显示问号的解决方案
  • 确认终端字符编码设置
    打开终端,通过顶部菜单栏进入「终端」→「设置」→「高级」,找到「字符编码」选项,确保选中「UTF-8」。若已为UTF-8,可先切换至其他编码再切回,重启终端后测试。

  • 强制Java程序使用UTF-8输出
    启动Java程序时添加VM参数,强制指定编码:

    java -Dfile.encoding=UTF-8 YourMainClass
    

    若使用IDE运行,在运行配置中添加VM参数:-Dfile.encoding=UTF-8

  • 更换终端支持特殊符号的字体
    进入终端设置的「文本」选项卡,将字体更换为支持Unicode方块字符的类型,比如系统默认的Menlo、SF Mono,或第三方字体Noto Sans Mono,更换后重启终端验证。

  • 代码中显式指定输出流编码(可选)
    若上述方法无效,可在Java代码里直接设置输出流的编码:

    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.nio.charset.StandardCharsets;
    
    public class Main {
        public static void main(String[] args) {
            String msg = "WebServer running on http://localhost:8080";
            String msg2 = "Boot-up time: 0,8588 seconds.";
    
            try (PrintWriter writer = new PrintWriter(
                    new OutputStreamWriter(System.out, StandardCharsets.UTF_8), true)) {
                writer.println("╭" + "─".repeat(msg.length()) + "╮");
                writer.println("│" + msg + "│");
                writer.println("│" + " ".repeat(msg.length()) + "│");
                writer.println("│" + msg2 + " ".repeat(msg.length() - msg2.length()) + "│");
                writer.println("╰" + "─".repeat(msg.length()) + "╯");
            }
        }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:15:54