扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:陈春 来源:goCom 2007年12月26日
关键字:
在本页阅读全文(共2页)
假如当前浏览器环境为zh_CN,那么上述tag生成的html代码如下:
<script language=”javascript”> |
值得注意的是,对于js资源引用需要插入一段javascript代码,对应的国际化资源内容如下:
Message.calendar_JANUARY="一月"; |
国际化时需作如下替换:
原代码:
var mon1 = “一月”; |
新代码:
var mon1 = Message.getString(“ calendar_JANUARY”); |
2、编码国际化
2.1、服务器配置
服务器端配置主要包括两方面,其一要指定环境语言,其二要指定字符集编码。
1、环境语言
一般服务器的JVM缺省语言和操作系统平台一致,但也可以为JVM指定特定的缺省语言。具体配置,例如:-Duser.language=zh -Duser.region=CN
2、字符集编码
一般情况下,一种语言会对应一种或多种字符集编码。例如中文可以用GB2312编码来显示,日文可以用Shift-JIS编码来显示。一旦遇到客户端浏览器设置的是GB2312编码,而页面上有日文或韩文的内容,就不能正确显示了。假如采用UTF-8编码方式就不会出现这种情况了,因为UTF-8编码几乎被所有的操作系统平台支持,并且包含了世界上绝大多数语言。
为统一编码,我们需要在JVM参数、浏览器请求、Web Server响应三个方面进行配置。具体如下:
a、JVM参数
-Dfile.encoding=UTF-8,针对EOS还需指定-Dxml.encoding=UTF-8
b、浏览器请求
如果Web Serve支持jsp2.4规范,我们可以直接在WEB-INF目录下的web.xml中指定编码方式。如:
<jsp-config> |
设置完毕,还需检查jsp、html页面中的字符显示设置是不是UTF-8,或者直接把页面显示字符设置删除。例如:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
c、Web Server响应
如果是jsp,则需指定<% request. setCharacterEncoding(“UTF-8”); %>
如果是servlet,则需调用 HttpServletRequest. setCharacterEncoding(“UTF-8”);
这两条语句均要在放在getParameterValue(),getParameterValues()语句之前。
3、文件编码
如果一个文件原编码是GBK,现要以UTF-8编码显示,我们会发现除了ASCII码之外的字符都是乱码。其原因是UTF-8仅仅和ASCII码兼容,除此之外同一字符的编码值并不相等。为解决这一问题,我们还需把Web应用涉及到的jsp、html、css、js等文本文件的格式转换成UTF-8编码。又由于windows操作系统识别UTF-8文件时,是靠该文件的头三个字节的内容判断的,而java虚拟机并不识别此文件头(BOM),故转换编码时一定不能包含BOM头。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者