温馨提示×

centosjava编码怎么修改

小樊
50
2026-10-17 09:56:26
栏目: 编程语言

你问的“CentOS Java 编码怎么修改”,一般常见有 3 种场景,我分别说明,你可以对号入座:


一、修改 JVM 默认编码(最常用)

Java 程序运行时默认编码受系统 LANG 影响,可强制指定:

1️⃣ 临时启动参数方式(推荐)

java -Dfile.encoding=UTF-8 -jar yourApp.jar

常用编码:

  • UTF-8
  • GBK
  • ISO-8859-1

2️⃣ 写死在脚本里

JAVA_OPTS="-Dfile.encoding=UTF-8"
java $JAVA_OPTS -jar app.jar

二、修改 CentOS 系统编码(影响 Java 默认编码)

查看当前编码

locale

修改为 UTF-8

localectl set-locale LANG=zh_CN.UTF-8

或手动编辑:

vi /etc/locale.conf

内容:

LANG="zh_CN.UTF-8"

生效:

source /etc/locale.conf

⚠️ 如果系统没有 zh_CN.UTF-8,先生成:

localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

三、Tomcat 等 Web 容器编码修改

Tomcat(conf/server.xml)

<Connector port="8080"
  URIEncoding="UTF-8"
  useBodyEncodingForURI="true" />

环境变量(catalina.sh)

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

四、验证 Java 编码

System.out.println(Charset.defaultCharset());

或命令行:

java -XshowSettings:properties -version 2>&1 | grep encoding

五、常见坑提醒

❌ 只改系统编码,Java 不重启不生效
❌ 数据库、文件、接口编码要一致(UTF-8 最稳)
❌ Windows 默认 GBK,CentOS 默认 UTF-8,跨平台容易乱码


如果你能告诉我:

  • 是 普通 Java 程序 / Tomcat / Spring Boot
  • 是 控制台乱码 / 文件乱码 / 接口乱码

我可以直接给你精确改法。

0 踩