温馨提示×

weblogic centos乱码怎么修

小樊
46
2026-10-12 05:18:22
栏目: 智能运维

在 CentOS 上运行 WebLogic 出现乱码,通常是 字符集(编码)不一致 导致的。下面按「最常见 → 进阶」逐步排查和修复。


一、先确认系统字符集(最重要)

1. 查看系统当前编码

locale
echo $LANG

正常应为(推荐):

LANG=zh_CN.UTF-8
或
LANG=en_US.UTF-8

如果不是 UTF-8,先修复系统编码:

localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
export LANG=zh_CN.UTF-8

永久生效(CentOS 6/7):

vi /etc/locale.conf
LANG="zh_CN.UTF-8"

二、WebLogic 启动参数加 UTF-8(关键)

1. 修改 setDomainEnv.sh

路径一般在:

$DOMAIN_HOME/bin/setDomainEnv.sh

在文件末尾或 JAVA_OPTIONS 处添加:

export JAVA_OPTIONS="$JAVA_OPTIONS -Dfile.encoding=UTF-8"

⚠️ 很多乱码问题 只加这一句就能解决


三、控制台(Console)乱码

1. 登录 WebLogic Console

环境 → 服务器 → 你的Server → 配置 → 日志

确保:

  • 编码:UTF-8

2. 修改 commEnv.sh

$WLS_HOME/common/bin/commEnv.sh

确认有:

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

四、Web 应用乱码(JSP / 页面)

1. JSP 页面

<%@ page contentType="text/html;charset=UTF-8" %>

2. web.xml 设置编码

<filter>
  <filter-name>encoding</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
</filter>

五、日志文件乱码

1. 查看日志编码

file *.log

如果是 ISO-8859,说明 WebLogic 启动时不是 UTF-8。

2. 修改日志配置

服务器 → 日志 → 高级 → 编码:UTF-8

六、数据库乱码(常见坑)

如果是 中文存数据库乱码:

  • Oracle
SELECT parameter, value FROM nls_database_parameters
WHERE parameter LIKE '%CHARACTERSET%';

应为 AL32UTF8

  • JDBC URL 加:
?useUnicode=true&characterEncoding=UTF-8

七、快速检查清单 ✅

✅ CentOS:LANG=zh_CN.UTF-8
✅ WebLogic:-Dfile.encoding=UTF-8
✅ JSP:charset=UTF-8
✅ 数据库:UTF-8


八、如果你愿意,我可以进一步帮你

你可以告诉我:

  1. 乱码出现的 位置(控制台 / 日志 / 页面 / 数据库)
  2. WebLogic 版本
  3. CentOS 版本
  4. 是 中文乱码 还是 全部乱码

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

0 踩