关闭

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

标签: applicationserverwebsphere语言服务器虚拟机
1796人阅读 评论(0) 收藏 举报
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
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9054次
    • 积分:168
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档