微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Weblogic乱码解决过程

起因

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

问题描述

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

修复过程

先检查以下文件

1. 检查系统i18n文件

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

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

      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
      
      
<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">2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      
      
<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:

      
      
1
2
3
4
5
6
7
8
9
10
11
12
      
      
<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,找到

      
      
1
2
      
      
JAVA_OPTIONS= "${JAVA_OPTIONS}"
export JAVA_OPTIONS

这一段,改成以下:

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

然后保存、重启服务:

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

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐