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

Java字符串在CMD与Spring Tools Suite中的编码差异问题

问题原因及解决方法

问题原因

  • Windows 10德语版默认控制台代码页为CP850(西欧DOS编码),而非UTF-8。你虽然在Maven启动命令中指定了-Dfile.encoding=UTF8,但控制台本身的输出编码仍为系统默认的非UTF-8编码,导致UTF-8编码的字符输出时被错误解析,出现"³"这类乱码。
  • STS的Boot Dashboard启动时,IDE内置控制台已默认配置为UTF-8编码,因此字符能正常显示。

解决方法

方法1:临时切换控制台编码为UTF-8

在执行Maven命令前,先切换控制台代码页到UTF-8(代码页编号65001):

chcp 65001 && mvn clean package -Pproduction && mvn spring-boot:run -Dfile.encoding=UTF8

提示:切换编码后若字体显示异常,可将控制台字体改为Consolas或Lucida Console。

方法2:全局配置Maven默认编码

修改Maven的settings.xml文件(路径为Maven安装目录conf/settings.xml或用户目录.m2/settings.xml),添加以下配置强制所有项目使用UTF-8编码:

<profiles>
  <profile>
    <id>default-encoding</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    </properties>
  </profile>
</profiles>

方法3:增强JVM启动参数

在启动命令中额外添加控制台编码参数,确保JVM输出到控制台时使用UTF-8:

mvn clean package -Pproduction && mvn spring-boot:run -Dfile.encoding=UTF8 -Dconsole.encoding=UTF8

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:57:25