欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-13 19:31:59
...

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

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

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

 

问题场景:服务器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编码),"%"问题解决

但是还是有乱码

问题场景:

将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"  

问题得到解决。

相关标签: jboss 乱码