javaWeb项目(Spring、Struts2框架)gbk转gb180整体方案(主要用于解决生僻字)

一、需要需改点:
    1:jsp中指定浏览器编码格式,修改后:<%@ page contentType="text/html; charset=GB18030"%> 
    2:过滤器:
        struts.xml  中  i18n编码格式修改为: gb18030
        web.xml 中  spring编码格式过滤器,编码格式修改为:gb18030
    3:接口响应数据时,如果源java代码中是将字符串转为“gbk”数据,现在需要改为gb18030。   例如:byte[] byteMessages = responseMessage.getBytes("GBK");
    4:接口响应数据时,如果源java代码中是将响应编码类型设置为“gbk”,现需要改为gb18030。  例如:response.setContentType("text/html;charset=GBK");
    5:informix 数据源 连接url中要有 gb18030。如:jdbc.url=*******NEWCODESET=gb18030,8859-1,819,Big5;IFX_USE_STRENC=true
    Oracle 数据库需要用 脚本 修改该库的编码格式,(可能还需要修改客户端编码格式)
    6、IE在向服务端发送请求时,如果采用在url中拼接参数,无论get请求还是post请求及Ajax的get请求或post请求 都不能携带生僻字, 因为IE会自动把 URL中的参数默认转为 gbk 格式,生僻字在这个时候会变为 ? 号。   (使用谷歌浏览器可以解决问题,  谷歌浏览器会把 url参数转为gb18030  有可能是当前页面是gb18030。
   8、  Ajax的post请求,会把post中的数据中转为 utf-8 再发送给服务器, struts2 框架默认以 urf-8 接收该数据, 但是 struts2 默认拦截器,都以 gb18030 格式 接收数据,需要重新Struts2编码过滤器,通过代码判断Ajax请求,再将utf-8数据转为gb18030.
   9、 使用Weblogic服务, domain中的《setDomainEnv.sh》文件将该domian编码格式修改为:
        LC_ALL="zh_CN.gb18030"
        export LC_ALL

猜你喜欢

转载自blog.csdn.net/m0_37557646/article/details/84758872