如何改变webshpere的request编码

 

在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,重启服务,发现默认编码已经更改,可以支持繁

体字

你可能感兴趣的:(Web,String,服务器,文档,websphere,encoding)