改变Websphere中request编码

来源:互联网 发布:apache ant zip 下载 编辑:程序博客网 时间:2024/06/04 20:04

在websphere中,中如果一个web应用的ibm-web-ext.xmi文件的属性autoRequestEncoding="true";

页面中get和post方式传递的编码就是你所在区域的编码,如果是中国大陆就是gb2312,除非你在页面中显式地调

用request.setCharacterEncoding("GBK");这样才可以改变编码,这样对需要支持繁体的话很不方便,按照

websphere的官方文档

如果 autoRequestEncoding 值设置为 true,客户机没有在请求头中指定字符编码,并且此代码不包含 setCharacterEncoding(String encoding) 方法,则 Web 容器尝试为请求参数和数据确定正确的字符编码。

Web 容器执行以下列表中的每个步骤,直至找到匹配:

  • 在 Content-Type 头中查看字符集(charset)。
  • 尝试使用所定义的属性,将服务器语言环境映射到字符集。
  • 如果设置,则尝试使用 DEFAULT_CLIENT_ENCODING 系统属性。
  • 将 ISO-8859-1 字符编码用作缺省。

经过试验根本不行,发现websphere的安装目录下WebSphere\AppServer\properties\encoding.properties

的文件包括了地区与编码的映射表,将中国对应的gb2312改为gbk,重启服务,发现默认编码已经更改,可以支持繁体字.

0 0
原创粉丝点击