jboss7部署到jboss服务器,中文乱码有关问题

我的问题和下面这个问题差不多

-------------------------------------------------

最近项目中碰到一个问题:

 

问题场景:服务器A,服务器B在同一个CAS管理下,A向B发送一个包涵中文字符的链接,在B系统网页显示时中文显示乱码

问题分析:A向B发送链接时,因为用户没有登录B系统,B系统会重定向到CAS验证中心,在重定向过程中会把参数用URLEncode重新编一次码:

            "中文" urlencode 后转化成  %E4%B8%AD%E6%96%87

             再 urlencode 后转化成 %25E4%25B8%25AD%25E6%2596%2587 ,等于将“%”再编码了一次

 

针对以上问题解决方案:

将中文用base 64 编码,到B系统再base 64 解码(base64 urlSafeString编码),"%"问题解决

扫描二维码关注公众号,回复: 274313 查看本文章

但是还是有乱码

问题场景:

将B系统部署在tomcat环境中,中文不乱码

将B系统部署在Jboss环境中,中文乱码

原因分析:可能是环境参数配置问题

解决方法:

  • 修改jboss的bin/run.conf.bat    Add below code to  following

                ::JAVA_OPTS_SET  set JAVA_OPTS=-Dfile.encoding="UTF-8"

  • 如何war是用ant打包的,javac的时候需要制定encoding 

<target name="compile" depends="prepare">

  <javac srcdir="${src.java.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="off" includes="**/*.java" includeantruntime="false" encoding="UTF-8">

   <classpath refid="classpath" />

  </javac>

 </target>

问题解决。

 

延伸阅读:

http://www.blogjava.net/sandy/archive/2012/01/19/368747.html

http://yang3wei.github.io/blog/2013/02/10/java-dfile-dot-encoding-equals-utf-8-gan-diao-luan-ma/

但是我的更改有点不同

我更改文件是standalone.bat 在其set JAVA_OPTS后加:-Dfile.encoding="UTF-8"  

问题得到解决。

猜你喜欢

转载自hetaoo.iteye.com/blog/2305064