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

从SDK 16.0.2切换至OpenJDK 20.0.1后特殊字符及emoji无法显示

解决JDK 20下特殊字符与Emoji显示问号的问题

1. 检查终端控制台编码

确保你使用的终端(Windows CMD/PowerShell、Linux/macOS终端)当前采用UTF-8编码:

  • Windows CMD:执行 chcp 65001 切换至UTF-8编码;
  • Windows PowerShell:执行 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8;
  • Linux/macOS终端:检查环境变量 LANG 是否为 zh_CN.UTF-8(或对应语言的UTF-8格式),若不是则执行 export LANG=zh_CN.UTF-8。

2. 强制指定JVM输出编码

运行Java程序时,添加JVM参数强制输出编码为UTF-8:

java -Dfile.encoding=UTF-8 Main

如果是在IDE(如IntelliJ IDEA)中运行,需在Run Configuration的VM选项中添加:
-Dfile.encoding=UTF-8

3. 验证编码配置是否生效

在代码中加入以下内容,查看当前编码设置:

public class Main {
    public static void main(String[] args) {
        System.out.println("默认字符编码: " + System.getProperty("file.encoding"));
        System.out.println("控制台输出编码: " + System.out.charset());
        System.out.println("hello ěš  👍👍🤡");
    }
}

若输出编码不是UTF-8,说明配置未生效,需重新检查设置。

4. 检查IDE控制台编码设置

即使项目文件编码为UTF-8,IDE控制台编码可能单独配置:

  • IntelliJ IDEA:打开 File > Settings > Editor > General > Console,确认 Console Encoding 设为UTF-8;
  • Eclipse:打开 Window > Preferences > General > Workspace,确保 Text file encoding 为UTF-8,同时进入 Run/Debug > Console,设置 Console encoding 为UTF-8。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:18:13