资源描述
Body Text,Second Level,Third Level,Fourth Level,Fifth Level,Click to edit Master title style,Simon Law,产品经理,服务器全球化技术,甲骨文公司,Oracle,数据库 10,g,全球化支持平台,什么是全球化支持,允许用户用他们的本机语言存储和处理数据,允许用户按照当地的惯例检索和提供信息,使客户能够利用,Oracle,技术开发他们自己的多语言应用程序和软件产品,我们今天具备的条件,Unicode,支持,Unicode,数据库和,Unicode,数据类型,UTF-8,和,UTF-16,文化惯例,货币和数字格式,日期、时间和日历格式,单语言和多语言排序,利用,Oracle Locale Builder,进行定制,我们今天具备的条件,有时区的时间戳数据类型,字节和字符长度语义,字符集扫描程序,语言索引,对中文数据的支持,简体中文和繁体中文之间的转换,例如:,七种中文语言排序,笔画、发音、部首和二进制,GB 18030-2000、GB 231230、GBK、BIG5、HKSCS,Oracle10,g,全球化支持,不区分大小写的查询和排序,正则表达式支持,语言和字符集检测技术,全球化开发工具包,不区分大小写的查询和排序,使用户能够搜索数据并对数据排序,而不管字符的大小写和重音,。,无需修改代码,SQL,大小写映射功能非常昂贵,为,SQL,服务器和,Sybase,用户提供了更好的移植路径,在,SQL,和,Java(GDK),中可用,不分大小写和重音的查询和排序,指定不分大小写或不分重音的排序,使用,NLS_SORT,会话参数来指定不分大小写或不分重音的排序:,在,Oracle,排序名称后加,_CI,表示不分大小写的排序,在,Oracle,排序名称后加,_AI,表示不分重音和大小写的排序,ALTER SESSION SET NLS_SORT=BINARY_CI;,ALTER SESSION SET NLS_COMP=ANSI;,SELECT PRODUCT_NAME FROM PRODUCTWHERE PRODUCT_NAME=database;,DATABASEDatabasedatabasedtbase,正则表达式支持,正则表达式,SQL,和,PL/SQL,中的本地支持,将复杂的匹配逻辑集中在数据库中,功能完全的模式匹配和操作,REGEXP_LIKE,REGEXP_INSTR,REGEXP_SUBSTR,REGEXP_REPLACE,正则表达式,与,POSIX ERE,兼容,可能是第一个完全可靠的多语言正则表达式引擎,可在 260 个字符集中进行操作(包括,Unicode,和对转换敏感的字符集),根据当地设置 进行对语言敏感的匹配行为,(,NLS_SORT,),与,Unicode 3.1,兼容,语言和字符集检测技术,猜测一个给定字节字符串或文档的字符集编码和语言的技术,在,Java(GDK),中提供检测,API,LCSSCAN(,纯文本文件扫描程序),嵌入在,CSSCAN,中,语言和字符集检测,语言和字符集检测(续),确定指定文本的语言和字符集的基于统计的实用工具,文本的纯度影响语言和字符集检测的准确性,理想的情况:,单一语言的书面文本,没有拼写或语法错误,可能需要 100 个字符的数据或更多,包含混合语言或字符集的文档或者如地址、电话号码之类的文本可能产生的结果较差,全球化开发工具包,GDK,是,Oracle,为中间层提供的全球化平台,提供了一个使全球化的,Java,中间层应用程序的开发变得简易的框架,隐藏了复杂性,易于使用,一致性,全球化开发工具包,提供了一个消除与开发多语言互联网应用程序相关的复杂性的框架(方法论),透明的用户语言环境检测,为非,ASCII,输入/输出提供透明的字符集转换,集中的逻辑,以确保对语言环境的意识,使资源本地化,GDK,应用程序框架,GDK,应用程序配置文件,指示应用程序的属性和全球化行为,每个,J2EE,应用程序一个应用程序配置文件,改变应用程序中的全球化行为,而无需修改程序和重新编译它们,语言环境类型,数据源,HTTP,语言首选,浏览器,用户输入语言环境,菜单,来自数据库的语言环境首选,数据库,LDAP,语言环境首选,LDAP,应用程序默认的语言环境,GDK,支持的语言环境数据源,定义语言环境数据源和应用程序语言环境,应用程序配置文件:,gdkapp.xml,LDAPUserSchema,oracle.i18n.localesource.HTTPAcceptLanguage,de-*,ja,en-US,检测语言环境,Locale loc=request.getLocale();,Localizer localizer=ServletHelper.getLocalizerInstance(request);GDK Localizer,是一个一体化的全球化对象,它封装了全面的全球化属性和方法,为,web,内容的输入和输出提供的字符集,单个本地字符集用于整个应用程序,将,Unicode UTF-8,用于所有的内容,而不管是什么语言,将本地字符集用于每一种语言,AUTO-CHARSET,ISO locale,NLS_LANGUAGE,NLS_TERRITORY,IANA Character Set,ar-SA,ARABIC,SAUDI ARABIA,WINDOWS-1256,de-DE,GERMAN,GERMANY,WINDOWS-1252,en-US,AMERICAN,AMERICA,WINDOWS-1252,en-GB,ENGLISH,UNITED KINGDOM,WINDOWS-1252,el,GREEK,GREECE,WINDOWS-1253,es-ES,SPANISH,SPAIN,WINDOWS-1252,fr,FRENCH,FRANCE,WINDOWS-1252,fr-CA,CANADIAN FRENCH,CANADA,WINDOWS-1252,iw,HEBREW,ISRAEL,WINDOWS-1255,ko,KOREAN,KOREA,EUC-KR,ja,JAPANESE,JAPAN,SHIFT_JIS,it,ITALIAN,ITALY,WINDOWS-1252,pt,PORTUGUESE,PORTUGAL,WINDOWS-1252,pt-BR,BRAZILIAN PORTUGUESE,BRAZIL,WINDOWS-1252,tr,TURKISH,TURKEY,WINDOWS-1254,nl,DUTCH,THE NETHERLANDS,WINDOWS-1252,zh,SIMPLIFIED CHINESE,CHINA,GBK,zh-TW,TRADITIONAL CHINESE,TAIWAN,BIG5,处理字符集,在应用程序配置文件中指定字符集,。,UTF-8,AUTO-CHARSET,jaEUC-JP,管理翻译的内容,静态文件,HTML、GIF、XML,等。,index.html,的中文版,index_zh.html,或,zh/index.html,ServletHelper.rewriteURL(),方法根据应用程序配置文件中指定的规则重写,URL。,管理翻译的内容,JSP/JAVA Servlets,中的字符串,具体化到,Java ResourceBundle,中,REPLACE,WITH,%Localizer.getMessage(Welcome)%,使用,GDK,应用程序框架与,J2EE,相比的好处,GDK,J2EE,语言环境检测,定义框架如何从语言环境数据源的任意组合中确定语言环境。,支持浏览器语言语言环境数据源,被认为不那么有用。,I/O,处理,在框架中定义,为输入和输出提供一致的字符集。,在应用程序代码中进行控制,行为随不同的,J2EE,容器而不同,需要由应用程序维护字符集一致性。,语言环境意识,应用程序能够使语言环境进行集中的、一致的识别。简化处理语言环境意识的代码,。,需要在对象上为当前的用户语言环境维护一致性。需要更多的代码来实现与,Localizer,中相同的东西。,使资源本地化,自动为应用程序查找图像、,HTML,等资源。为,HTML、,图像和资源包提供一致的回退。,没有为图像、,HTML,等作准备。语言环境回退不能在基于,web,的应用程序上进行。,将,Oracle,的全球化特性扩展至中间层,Oracle,拥有业内领先的数据库全球化特性,全球化支持还没有标准,对于,Java,,要增加新的语言环境支持,研制周期 长,创建中间层和数据库之间的一致性,GDK Java API,在,Java 1.4.2,中不可用,语言,BANGLADESH,CYPRUS,DJIBOUTI,INDONESIA,KAZAKHSTAN,MALAYSIA,MAURITANIA,SINGAPORE,SOMALIA,UZBEKISTAN,VIETNAM,ASSAMESE,BANGLA,BENGALI,GERMAN DIN,GUJARATI,INDONESIAN,KANNADA,LATIN AMERICAN SPANISH,MALAY,MALAYALAM,MARATHI,ORIYA,PUNJABI,TAMIL,TELUGU,VIETNAMESE,AR8ADOS710,AR8ADOS710T,AR8ADOS720,AR8ADOS720T,AR8APTEC715,APTEC715T,AR8ASMO708PLUS,AR8ASMO8X,AR8HPARABIC8T,AR8MUSSAD768,AR8MUSSAD768T,AR8NAFITHA711,AR8NAFITHA711T,AR8NAFITHA721,AR8NAFITHA721T,AR8SAKHR706,AR8SAKHR707,AR8SAKHR707T,AR8XBASIC,BG8MSWIN,BG8PC437S,BN8BSCII,CE8BS2000,CEL8ISO8859P14,CH7DEC,CL8BS2000,CL8EBCDIC1158,CL8EBCDIC1158R,CL8ISOIR111,JA16DBCS,JA16DBCSFIXED,DK7SIEMENS9780X,DK8BS2000,E7DEC,E7SIEMENS9780X,E8BS2000,EE8BS2000,EEC8EUROASCI,EEC8EUROPA3,EL8DEC,EL8GCOS7,EL8MACGREEK,EL8MACGREEKS,EL8PC437S,EL8PC851,ET8MSWIN923,F7DEC,F7SIEMENS9780X,F8BS2000,HU8ABMOD,HU8CWI2,I7DEC,I7SIEMENS9780X,IN8ISCII,IW7IS960,IW8EBCDIC1086,US8ICL,UTFE,VN8VN3,WE16DECTST,WE16DECTST2,WE8BS2000,JA16EUCFIXED,JA16MACSJIS,JA16SJISFIXED,KO16DBCS,KO16DBCSFIXED,KO16KSC5601FIXED,KO16KSCCS,LA8ISO6937,LA8PASSPORT,LT8PC772,LT8PC774,LV8PC1117,LV8PC8LR,LV8RST104090,N7SIEMENS9780X,NDK7DEC,NE8ISO8859P10,NL7DEC,S7DEC,S7SIEMENS9780X,S8BS2000,SF7ASCII,SF7DEC,TR7DEC,TR8DEC,US16TSTFIXED,US8BS2000,CL8KOI8U,D7DEC,D7SIEMENS9780X,D8BS2000,WE8BS2000E,WE8BS2000L5,WE8DEC,WE8DECTST,WE8DG,WE8EBCDIC924,WE8GCOS7,WE8HP,WE8ICL
展开阅读全文