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

Spring Boot请求中的阿拉伯字符控制台打印显示问号如何解决

控制台阿拉伯字符显示问号解决方案

你已配置的Spring、Maven编码规则均正确,且数据可正常入库,说明JVM运行时的字符编码没有问题,问号仅为控制台输出环节编码不匹配导致,按以下步骤排查即可:

1. IDE运行场景配置

  • IntelliJ IDEA 调整步骤:
    • 进入 File > Settings > Editor > File Encodings,将Global Encoding、Project Encoding、Properties文件默认编码全部设为UTF-8
    • 打开对应项目的 Run/Debug Configurations,在启动项的VM options中添加参数:-Dfile.encoding=UTF-8
    • 重启IDE后重新运行项目测试
  • Eclipse 调整步骤:
    • 进入 Window > Preferences > General > Workspace,将Text file encoding设为UTF-8
    • 右键启动类选择 Run As > Run Configurations,在Common标签页的Encoding栏选择UTF-8,重启项目测试

2. 原生终端运行jar包场景配置

  • Linux 终端:
    运行jar前先执行命令设置终端编码,也可写入/etc/profile永久生效:
    export LANG=en_US.UTF-8
    
  • Windows cmd/PowerShell:
    运行jar前先执行命令切换编码为UTF-8,同时将终端字体调整为支持阿拉伯字符的字体(如微软雅黑、Noto Sans Arabic):
    chcp 65001
    

3. 强制指定输出编码(可选)

如果上述配置仍不生效,可在项目启动类的main方法最前端添加代码,强制指定控制台输出编码为UTF-8:

import java.io.PrintStream;
import java.nio.charset.StandardCharsets;

// main方法开头添加
System.setOut(new PrintStream(System.out, true, StandardCharsets.UTF_8));
System.setErr(new PrintStream(System.err, true, StandardCharsets.UTF_8));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:24:04