当前位置 : 主页 > 网页制作 > html >

Weblogic乱码解决过程

来源:互联网 收集:自由互联 发布时间:2021-06-12
起因 今天在公司部署项目的时候,在Weblogic下部署服务的过程中遇到了Jsp页面乱码的问题,现将修复过程分享出来。[以下修复基于Weblogic_10.3.6.0、JDK为1.6环境] 问题描述 目前有一套代码

起因

今天在公司部署项目的时候,在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
      
      
      
      
      
      
       
       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环境整个过程都检查了遍,对于项目部署乱码这块认识更加深刻,途中也找了查阅了相关资料,最终得以解决,在此将相关解决过程整合以便今后查阅。

网友评论