最近项目中碰到一个问题:
问题场景:服务器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/
相关推荐
JBoss服务器URL乱码的问题解决办法
jboss eap 6.2或as 7 以上乱码问题解决
jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署,jboss热部署
JBoss是纯Java的Web应用服务器,为了保证JBoss服务器的正常运行,在安装JBoss之前首先要确保系统 已经安装了JDK。可以从http://labs.jboss.com/jbossas/downloads/ 下载最新JBoss应用服务器,本章选用JBoss 4.2.2.GA...
Jboss项目部署文档
在IntelliJ idea8中部署Jboss服务器图解,详细的说明过程和图解,方便设置和查询doc文档
Jboss服务器常用配置
JBOSS,JBoss安装部署 JBOSS,JBoss安装部署
jboss服务器配置指南 有关jboss服务配置和优化
JBOSS服务器概述,讲解JBOSS安装配置及部署,JBoss 的目录结构说明,日志文件设置,在MyEclipse 中配置JBoss。
配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss应用服务器配置JBoss...
NULL 博文链接:https://lionelf.iteye.com/blog/1532452
jboss-服务器下载
Linux下JBOSS部署手册
一台机器部署多个jboss说明:如果在一台机器上部署了多个jboss server,需要修改相关端口以避免端口冲突。
Jboss 服务器下的部署说明文档 一.Jboss服务器的安装 二.数据源的配置
有关于Jboss服务器的 安装、配置、部署、使用以及数据库链接的相关说明。
jboss服务器,javaee容器,分布式
在Jboss下部署EJB,包含源代码,指导一步一步的操作
Jboss 服务器下的部署说明文档