您的位置:首页 > 移动开发

Webshpere Application Server 下字符转换相关配置

2007-09-13 18:16 387 查看
1.ibm-web-ext.xmi 文件,在WAS_ROOT/profiles/AppSrv01/installedApps/*node*cell/yourApp/WEB-INF下

在ibm-web-ext.xmi文件中设置autoRequestEncoding和 autoResponseEncoding 在 Web 模块上启用 autoRequestEncoding 设置会更改WAS的缺省行为:如果Http Request header上不存在字符集,则WAS检查Http Request的 Accept-Language 头,并使用头中找到的第一种语言进行编码。如果content type头上没有字符集,而且没有 Accept language 头,则WAS使用服务器上设置的字符编码,通过系统属性 default.client.encoding。当上述属性均未设置,则WAS使用 ISO-8859-1,如果在该处进行了设置,就不需要在Servlet中采用编程处理Http Request和Http Response的中文编码问题。

2.encoder.properties文件,在WAS_ROOT/properties/下
    
这个编码属性文件在
/WAS_ROOT/properties
目录下,它包含语言和字符集对的列表。WebSphere Application Server 在上下文中获取语言方面的信息。如果没有在 HTTp 请求或响应中显式指定字符集(charset)属性,那么 Application Server 将查看上述编码属性文件来选择字符集。例如,UTF-8 包含世界上所有的字符;因此,将 UTF-8 用于多语言应用程序的所有语言设置是个很不错的主意。

en=ISO-8859-1

th=windows-874
vi=windows-1258
ja=Shift_JIS
ko=EUC_KR
zh=GB2312
zh_TW=Big5
hy=UTF-8

3.在管理控制台中启用多语言编码支持,默认为http://localhost:9060/ibm/console
要在管理控制台中使用多语言编码支持,您必须配置应用程序服务器,例如启用 GB18030 编码。在"Java 虚拟机"页面上(应用程序服务器 > server1 > 进程定义 > Java 虚拟机),为通用 JVM 自变量指定 -Dclient.encoding.override=GB18030 (或者-Ddefault.client.encoding=GB18030) ,如下图所示:

4. HttpRequest
如果表单(FORM)包含有字符集设置,用这个设置编码

若上面条件不成立,则在encoding.properties文件中寻找与accept-language相关的语言字符集键值对,使用该设置编码

若上述两个条件均不成立,则根据default.client.encoding中设定的字符集编码

若上述条件均不成立,则使用ISO-8859-1

5.HttpResponse
如果content-type中包含字符集设置,则按这个编码

上面的条件不成立时,按照encoding.properties文件中的设置编码

上述条件均不成立的话,则按照ISO-8859-1编码

参考:
1.www.icu-project.org/docs/papers/websphere_unicode_iuc19.ppt
2.http://blog.csdn.net/tan_jianhui/archive/2007/05/03/1595494.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐