Apusic下中文乱码处理
中文乱码的问题要根据实际情况,进行具体分析,一般的分析思路如下:
首先要说明的是,Apusic的WebService组件中的URIEncoding只支持url中直接写死中文的情况,不支持以变量的方式将中文拼进url中的场景。
其次需要说明的是,请检查应用系统中是否已经内置或者配置了Filter的转码处理功能,该功能是否会影响当前场景中的中文乱码。
(1)、如果是页面级别的url传输中文,建议通过js的函数escape()或者encodeURI()进行一次或者两次编码,escape()用于对url中的写死中文或者变量方值的中文进行编码,而encodeURI()用于对整个uri进行编码。
(2)、jsp页面存储编码格式需要注意,如果页面内部指定了字符集为GBK或者gb2312,则文件的存储编码格式应该是:ANSI或者default,如果页面内部指定了字符集是utf-8,则文件的存储编码格式应该是:utf-8,如下:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
contentType和pageEncoding可以取其一,如果两者都写,需要保持一致!
注意:如下:
<meta http-equiv = "content-type" content = "text/html; charset=GBK" />
会影响静态页面,如html或者htm中的写死中文,jsp中一般有<%@ page>的页签就ok了。
(3)、如果含中文的url是在后台代码中编写的话,则可以考虑通过java的方法进行url的编码和解码,如下:
java.net.URLEncode.encode(“yourChineseName”,”UTF-8”) java.net.URLDecode.decode(“yourChineseName”,”UTF-8”)
(4)、如果非要进行中文的转码,可以通过以下方式进行遍历处理:
String strFileNullTip = "测试中文乱码!";
String strTest1=new String(strFileNullTip.getBytes("iso-8859-1"),"GBK");
String strTest2=new String(strFileNullTip.getBytes("GBK"),"utf-8");
String strTest3=new String(strFileNullTip.getBytes("utf-8"),"GBK");
String strTest4=new String(strFileNullTip.getBytes("utf-8"),"iso-8859-1");
String strTest5=new String(strFileNullTip.getBytes("iso-8859-1"),"utf-8");
String strTest6=new String(strFileNullTip.getBytes("GBK"),"iso-8859-1");
out.println("=strTest1 is:="+strTest1+"=end=");
out.println("=strTest2 is:="+strTest2+"=end=");
out.println("=strTest3 is:="+strTest3+"=end=");
out.println("=strTest4 is:="+strTest4+"=end=");
out.println("=strTest5 is:="+strTest5+"=end=");
out.println("=strTest6 is:="+strTest6+"=end=");
(5)、中文奇数乱偶数不乱现象:
在第(4)步中的转码中,如果是GBK和UTF-8之间相互转码,会造成中文奇数乱,偶数不乱的现象,因为GBK是两个字节表示一个中文,而UTF-8则是三个字节表一个中文,它们固有的性质决定了,GBK和UTF-8之间不能直接相互转码,如果要转可以通过以下方式之一:
Ø 通过java.net.URLEncode.encode压码,再decode解码;
Ø 使用统一的字符集,要么GBK,要么UTF-8;
Ø 使用国际化的标准字符集:ISO-8859-1,因为:ISO-8859-1到GBK,或者ISO-8859-1到UTF-8转码时,中文奇偶数都不会出现乱码;
分享到:
相关推荐
Apusic密码修改指引
本快速入门指南介绍了金蝶 Apusic 应用服务器软件(简称 AAS)V10 产品安装、启动、 卸载、管理与使用等基本操作,为用户快速使用本产品提供指导。 金蝶 Apusic 应用服务器为复杂应用提供了一个简便、快速的开发和...
Apusic 7.0,2014,license,
金蝶中间件(Apusic)--license
管理Apusic Web服务器,管理Apusic Web服务器
金蝶中间件Apusic Eclipse/MyEclipse all-plugins,用于集成在eclipse做调试开发
linux环境下使用apache和apusic实现负载均衡
Apusic5.1域配置,希望对正在使用Apusic5.1服务器的工作团队有所帮助。
金蝶Apusic应用服务器6.0是一款...本发行说明包含金蝶Apusic应用服务器6.0发行时的重要信息,主要包括新增加的功能、改进或增强的功能、已处理和解决的问题等。开始使用金蝶Apusic应用服务器6.0之前,请先阅读本文档。
2021年通用apusic license,适用于apusic9.0以上EAS(EAS8.0以上版本一般都可用),有效期到2021年12月31日。此apusic为5个连接数
Apusic+SQL-Server的调优记录
apusic文件,apuasic是国产中间件,隶属金蝶 中国. 数据库连接攻略
EAS Apusic2016年的临时许可
EAS apusic5.0 许可.许可到期时间2088年!
Apusic OperaMasks很全的JSF的例子,什么都有,如:TREE 、GRID、FORM、BOX、MENU、DIALOG、AJAX。都很漂亮的。
Windows2003+Apusic6.0安装部署手册
2019年通用apusic license,适用于apusic9.0以上EAS,有效期到2019年12月10日
金蝶Apusic应用服务器的详细文档,包括安装、管理、开发等内容。
金蝶Apusic企业服务总线V7.0用户手册
全面介绍Apusic 应用服务器6.0 体系结构、新特性等