科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道WebLogic Server 国际化

WebLogic Server 国际化

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

国际化概述 WebLogic Server 中 I18n 的主要特性: 在 WebLogic Server 内部,所有字符都按 Unicode 进行处理。只要输入或输出字符数据,就执行代码转换。

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字: Weblogic 编程

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

国际化概述

WebLogic Server 中 I18n 的主要特性:

  • 在 WebLogic Server 内部,所有字符都按 Unicode 进行处理。只要输入或输出字符数据,就执行代码转换。
  • 必须分别为 WebLogic Server、J2EE 组件和 WebLogic Server 容器上的资源指定适当的编码转换。
  • 如果不指定编码转换,系统将应用默认的编码转换。
  • 存在各种类型的默认编码转换,其中的一些编码转换不符合操作系统的区域设置。

在使用 WebLogic Server 生成用于处理多字节字符数据的分布式系统之前,应该了解如何指定有关 Java 和 J2EE 的适当编码。而且,在控制编码转换时,应该适当考虑连接到 WebLogic Server 的系统(例如,操作系统、Internet、后端系统)的编码处理。

下面简要描述了 WebLogic Server 中的编码处理。

Unicode 的使用

WebLogic Server 是一种 100% 纯 Java 应用服务器程序,它使用 Unicode 进行服务器内部编码。

这样 WebLogic Server 就能同时处理所有语言的字符(只要 Unicode 能够处理这些字符)。

编码转换

当 WebLogic Server 与外部交换字符数据时,需要进行编码转换。

Unicode 是 Java 的内部编码,而在普通的操作系统中,几乎没有任何环境使用 Unicode,它们使用的是为每个平台单独定义的称为“本地编码”的编码。例如,Windows 系统的本地编码是一个与语言有关的代码页,Unix 系统的本地编码是与用 LANG 环境变量指定的区域设置相对应的编码,数据库的本地编码是在创建数据库时指定的字符集或者由客户端指定的字符集。

因此,在 WebLogic Server 中进行输入和输出时,需要进行本地编码与 Unicode 之间的编码转换。当 WebLogic Server 与操作系统或外部资源交换字符数据时,总会发生这种编码转换。

注意:序列化的 Java 类流中包含的字符作为(UTF-8 编码的)Unicode 保存在该类的内部信息中。这意味着无需考虑序列化流的代码转换。例如,对于 EJB 或 RMI 无需考虑编码。

因为编码转换是针对单个字符进行的,所以转换过程会占用大量 CPU 资源。在设计应用程序时,最好避免进行代码转换,以确保系统性能较高。

WebLogic Server 服务器自身的编码转换与应用程序组件和资源的编码转换是相互独立的

在 WebLogic Server 中,服务器本身的编码转换与 WebLogic Server 上应用程序组件和资源的编码转换是分开的。

在 WebLogic Server 中,服务器日志或管理控制台的编码是由服务器的 Java VM 或浏览器的语言设置的默认编码确定的,而与应用程序组件的编码或 WebLogic Server 提供的内容所用的语言无关。

而且,在配置 WebLogic Server 的行为时,可以不考虑 WebLogic Server 使用的区域设置或语言设置。

还可以为在 WebLogic Server 容器上配置的资源单独设置编码转换。

WebLogic Server 本身的编码转换包括:

  • WebLogic Server 的系统日志输出
  • 管理控制台的页面编码
  • WebLogic Server 和本地文件系统之间的文件 I/O

单个应用程序的编码转换包括:

  • JSP 文件
  • Servlet
  • DD 文件
  • XML
  • Web Service

WebLogic Server 上的资源包括:

  • JDBC 连接
  • WTC 连接等

为 WebLogic Server 指定编码时,需要弄清楚要为哪些类别指定编码,然后需要查看是否可以创建有效的 Character 对象,以及 WebLogic Server 中的 Character 对象是否可以正确地转换为所需的编码。

如上所述,您应该了解编码转换行为,以便进行正确的设置。如果不指定编码转换,应用程序将无法正确处理多字节字符。

如果不指定编码,将使用适合情况的默认编码。默认编码可能因目标的规范或环境而异。

默认编码示例

影响 WebLogic Server 行为的默认编码包括:

  • 服务器 VM 的默认编码
  • J2EE 的默认编码
  • XML 的默认编码
  • HTTP 协议的默认编码
  • 浏览器的默认编码
  • Web Service(例如,SOAP、WSDL、UDDI)的默认编码等

示例:

  • 在简体中文版的 Windows 中,服务器 VM 的默认编码通常是 MS936。
  • J2EE 的默认编码通常是 ISO-8859-1。
  • XML 的默认编码通常是 UTF-8。
  • HTTP 的默认编码通常是 US-ASCII。

因为不同的默认编码用于不同的目标(如上所述),所以,如果没有指定适当的编码,WebLogic Server 就无法正确地处理简体中文。为了能够控制编码转换,您应该先了解下列内容。

在 Java 语言术语中,编码意味着“字符集”。描述字符集的词很多,但是每个词的定义略有不同。

编码或字符集意味着一种定义,根据这种定义,将计算机可读代码分配给特定语言的字符集合,以便计算机可以处理这些字符。

Java 语言在其 I/O 部分中包括了这些差异,以便可以在其内部以 Unicode 形式处理所有字符。这意味着对于任何字符集来说,只要它的编码定义存在,Java 就可以处理它。Java 基本上可以包括各种系统之间存在的任何编码差异。但是,目前还没有一个编码转换表可以处理目前全部现有编码之间的所有细微差异。同样,现有的编码表存在一些限制,这些限制源自与 Unicode 的一致性问题。

在 Java Web 应用程序服务器中,Java 编码名称和 MIME 字符集(由 IANA 定义并在 Internet 和 XML 中使用)之间的差异尤其重要。WebLogic Server 使用一个映射表将 Java 编码名称与 IANA 字符集名称相关联,从而包括这种差异。使用该映射表,WebLogic Server 可以将 JSP 上定义为“Shift_JIS”的文件作为具有 Java 编码名称的“MS932”来处理。可以修改 WebLogic Server 的映射表,让其将“Shift_JIS”字符集作为“cp943”Java 编码来处理。

Xerces 是 WebLogic Server 的内置 XML 解析器,它具有自己的 IANA-Java 映射表。用户不能对这种映射进行自定义。

WebLogic Server 主要使用 Java 编码名称来指定编码。J2EE、Internet 或 XML 主要使用 IANA 字符集名称,您可以根据需要修改这种映射。

 

安装

WebLogic Server 提供简体中文版安装程序和英语版安装程序。两者均可从 BEA Systems, Inc. 网站下载。

简体中文版安装程序和英语版安装程序之间的区别在于:就影响 WebLogic Server 行为的程序文件而言,这两个安装程序是相同的,您可以将它们视为具有相同的软件。而且,从英语版安装程序启动的 WebLogic Server 实例和从简体中文版安装程序启动的另一个实例之间没有任何互操作性问题。

共性:

  • 所有的 WebLogic Server 类文件(weblogic.jar 和其他文件)
  • 版本字符串
  • 消息目录和管理控制台联机帮助中的语言

区别:

  • 一些经过翻译的文本文件
  • about_wls/readme.txt/index.jsp 或 html
  • WebLogic Builder 联机帮助

简体中文版的 WebLogic Server 8.1 不支持下列功能:

  • 智能更新
  • 网络安装程序

 

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章