Weblogic乱码解决过程

放肆的年华 提交于 2019-12-01 18:46:05

起因

今天在公司部署项目的时候,在Weblogic下部署服务的过程中遇到了Jsp页面乱码的问题,现将修复过程分享出来。[以下修复基于Weblogic_10.3.6.0、JDK为1.6环境]

问题描述

目前有一套代码,原本是跑在Tomcat上的,如今移植到Weblogic中去,JSP页面乱码、在Oracle中取出的数据都也出现了乱码。

修复过程

先检查以下文件

1. 检查系统i18n文件

  • 检查Weblogic所处系统下的i18n文件是否正确
1
cat /etc/sysconfig/i18n
  • 得到的结果是,证明系统的编码没有问题
12
LANG="en_US.UTF-8"SYSFONT="latarcyrheb-sun16"

2. 检查并修改项目下的pom.xml文件中如下,设置UTF-8编码[若不是Maven项目,请跳过],当前Maven项目Version:3.3.9

123456789101112131415161718192021222324252627
 <properties>   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>   ... </properties><plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <version>2.5.1</version>    <configuration>        <source>${jdk.version}</source>        <target>${jdk.version}</target>        <showWarnings>true</showWarnings>        <encoding>UTF-8</encoding>      </configuration></plugin><!-- resource插件 --><plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-resources-plugin</artifactId>    <version>2.6</version>    <configuration>        <encoding>UTF-8</encoding>    </configuration></plugin>

3. 检查并修改项目WEB-INF下的web.xml:

1大专栏  Weblogic乱码解决过程ne">234567891011121314151617
<filter>    <filter-name>encodingFilter</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>    <init-param>      <param-name>forceEncoding</param-name>      <param-value>true</param-value>    </init-param>  </filter>  <filter-mapping>    <filter-name>encodingFilter</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping><filter>

4. 检查并修改项目WEB-INF下的weblogic.xml:

123456789101112
<jsp-descriptor>    <jsp-param>        <param-name>encoding</param-name>        <param-value>GBK</param-value>    </jsp-param></jsp-descriptor><charset-params>    <input-charset>        <resource-path>/</resource-path>        <java-charset-name>UTF-8</java-charset-name>    </input-charset></charset-params>

5. 检查并查看Weblogic的启动文件startWeblogic.sh,找到

12
JAVA_OPTIONS="${JAVA_OPTIONS}"export JAVA_OPTIONS

这一段,改成以下:

12
JAVA_OPTIONS="${JAVA_OPTIONS} -Dfile.encoding=utf8"export JAVA_OPTIONS

然后保存、重启服务:

1
nohup ./startWeblogic & tail -f nohup.out

总结

在此修复过程中,从项目源码、项目打包、Weblogic环境整个过程都检查了遍,对于项目部署乱码这块认识更加深刻,途中也找了查阅了相关资料,最终得以解决,在此将相关解决过程整合以便今后查阅。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!