科技行者

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

知识库

知识库 安全导航

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

WebLogic Server 国际化

  • 扫一扫
    分享文章到微信

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

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

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

关键字:

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

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

WebLogic Server 系统管理

下列项目使用 WebLogic Server 的 JVM 默认编码:

  • WebLogic Server 的错误日志输出
  • 与本地文件系统之间的文件输入和输出

下列项目使用浏览器的默认语言:

  • 管理控制台

要更改日志输出等的编码,使其使用服务器的默认编码,请执行下列过程:

WebLogic Server 和 Java Virtual Machine 中的编码

在 WebLogic Server 中,可以设置范围不同的编码。例如,JSP 有一个用来指定页面特定编码的 page 标记,该 page 标记符合 JSP 1.2 规范。在使用 WebLogic jDriver 时,还可以使用 weblogic.codeset 属性来为 JDBC 连接指定编码。请注意,为特定范围指定的编码与 WebLogic Server 所在的 Java VM 的默认编码没有任何关系。即便 Java VM 以英语区域设置运行,使用简体中文 JSP 文件提供服务也不会出现问题。但是,对下列字符串的处理取决于 Java VM 默认编码:

  • WebLogic Server 的错误日志输出
  • 与本地文件系统之间的文件输入和输出

这些字符串使用每个平台的 Java VM 默认编码(由 file.encoding Java 系统属性指定的编码)。例如,WebLogic Server 输出到终端控制台的日志消息的语言和编码取决于在 Java VM 中指定的编码。file.encoding java 系统属性基于平台环境和系统区域设置。如果希望切换 WebLogic Server 日志消息的语言和编码,则需要对系统区域设置进行相应切换。一旦 VM 启动,就不能动态切换 Java VM 默认编码。在重新启动 WebLogic Server 之前,请确保进行了下列设置。

Windows 2000/Windows NT

在“控制面板”的“区域选项”中选择“英语(美国)”或“简体中文”。这允许服务器使用 CP1252 或 MS936 作为默认编码。

UNIX

在 LANG 环境变量中指定您的平台支持的区域设置。

下面列出了服务器编码和 LANG 环境变量的设置:

表 2-1 服务器编码和 LANG 环境变量的设置

平台

编码

LANG 环境变量

Solaris

GB2312、GBK、GB18030

zh_CN、zh_CN.GBK 或 zh_CN.GB18030

HP

GB2312

zh_CN.hp15CN

例如,如果为 Solaris 指定 GB2312,则 LANG 设置应如下所示:

LANG=zh_CN

如何检查服务器编码

Java VM 默认编码变成 WebLogic Server 默认编码。可以通过参考管理控制台中的日志消息来检查编码。检查步骤如下:

  1. 在管理控制台上,在左窗格中用鼠标右键单击服务器名,然后选择“查看服务器日志”。
  2. 单击“自定义此视图”。
  3. 在“子字符串”框中,输入“file.encoding”。
  4. 单击“应用”按钮。

    所显示的编码是服务器编码。

关于配置管理和受管服务器的说明

在 WebLogic Server 中,对于一个域中的所有服务器必须使用相同的编码。

如果某个服务器的编码不同于群集中存在的其他编码,则该服务器的日志将无法正确显示。

例如,如果域中有一个 Windows 平台,则该域中所有的编码都应当是相同的 GB2312 类型的编码,如 MS936。如果某个服务器的编码不同于该域中存在的其他编码,则该服务器的日志将无法正确显示。

关于配置群集的说明

在 WebLogic Server 中,对于一个群集中的所有服务器必须使用相同的编码。

在使用 WebLogic Server 时,应当用相同的编码配置该群集中的所有服务器。

例如,如果群集中有一个 Windows 平台,则该群集中所有的编码都应当是相同的 GB2312 类型的编码,如 MS936。如果某个服务器的编码不同于存在的其他编码,则该服务器的日志将无法正确显示。

config.xml 的编码

config.xml 文件是 UTF-8 形式的输入/输出。在用文本编辑器直接编辑该文件时,请以 UTF-8 形式进行读取和保存。

关于将 WebLogic Server 用作 Web 服务器的说明

下面列出了关于将 WebLogic Server 用作 Web 服务器的说明:

要将 contentType 字符集参数添加到 HTTP 头中以提供 HTML 文件,请在 web.xml 文件中插入下列定义,这些定义可以为 HTML 文件显式指定编码:

<mime-mapping>
  <extension>html</extension>
  <mime-type>text/html;charset=GB2312</mime-type>
</mime-mapping>

这允许您通过使用如下所示的 META 标记来忽略 HTML 文件中的字符集设置:

<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=GB2312">

JDBC 连接

在创建 JDBC 连接池时,对于使用多字节字符的数据库,必须为到该数据库的连接指定适当的编码。您可能需要对 Web 层和 DB 层之间的编码转换映射进行匹配。

有关详细信息,请参阅“Configuring and Using WebLogic jDriver for Oracle”中 Advanced Oracle Features 一章的“Codeset Support”。

部署

在 WebLogic Server 的 J2EE 组件的 DD 文件中,多字节字符的编码按照 XML 声明中指定的编码进行处理。如果 DD 文件中没有 XML 声明或者 XML 声明中没有编码特性,将以 UTF-8 编码处理该文件。

在 WebLogic Builder 或管理控制台中编辑 DD 文件并保存所做的更改时,该文件的编码将与初始文件中的相同。

在 WebLogic Builder 或管理控制台中创建的 DD 文件没有 XML 声明。更改这些文件的编码时,请在 XML 声明中设置编码特性,并为该文件设置相应的编码转换。

关于使用管理控制台的说明

管理控制台启动时使用的语言

管理控制台首次启动时显示的语言是在 Web 浏览器中指定的首选语言。例如,如果使用的是简体中文版本的 Windows 和 Internet Explorer,则管理控制台在首次启动时将显示简体中文。如果希望将首次显示的语言更改为英语,可以将浏览器中的首选语言设置为英语。

在 WebLogic Server 8.1 中可以选择的管理控制台语言

  • 简体中文/EUC-CN
  • 简体中文/GBK
  • 简体中文/GB18030
  • 英语

请根据管理控制台所连接到的管理服务器的编码,选择 GB2312、GBK 或 GB18030。

在管理控制台启动之后切换语言

在管理控制台主页的“首选项”页上,从“语言”下拉列表中选择所需的语言。

 

编程

关于使用 Servlet 和 JSP 的说明

编码转换、标准、范围和首选项

WebLogic Server 是一种 Java 应用程序,其中的所有字符串在内部都作为 Unicode 字符串进行处理。另一方面,对于 HTML 页使用各种字符集。在 WebLogic Server 中,在处理 HTML 数据时,会通过使用 Java 编码转换器在 Unicode 和 HTML 字符集之间执行编码转换。使用 WebLogic Server 时,一定要确定如何在应用程序中管理服务器内的 Unicode 字符串与 HTML 中所用编码之间的转换。

WebLogic Server 有许多用于根据特定范围确定编码的参数,它允许您配置自己的应用程序的系统。

而且,在 WebLogic Server 中,可以不考虑 Java VM 默认编码,而为所使用的每个模块指定不同的编码。

在 WebLogic Server 中,用来设置编码的一些方法是由 J2EE 规范定义的。其他方法由 WebLogic 的专有规范定义。在这些方法中,下面是 JSP/Servlet 的设置项目列表,您无需指定其中的所有项目。请阅读下列描述并组合最适合您的环境的编码设置。

编码设置

与 JSP/Servlet 有关的编码设置包括:

  • 从 Servlet 输出的 HTTP 响应中使用的写入器编码
  • JSP 文件的编码
  • 从 JSP 输出的写入器编码
  • HTTP 请求(如 GET/POST)的编码(对于特定的请求 URL)
  • 数据(如 GET/POST)的编码(对于特定的 HTTP 请求)
  • JSP 容器的编码
  • Java 编码和 IANA 字符集之间的映射

如果指定了多个参数,可以通过一组特定的规则来确定哪个参数有效。例如,如果 UTF-8 设置为 JSP 容器的默认编码,但在特定 JSP 的 page 标记中指定了 GB2312,则将使用 GB2312。一般来说,在较小范围中指定的编码具有较高的优先级。如有必要,可以在较大的范围中设置默认编码,并在较小的范围中设置特殊编码。

建议您在整个应用程序中使用同一种编码。

使用简体中文的一般步骤

如上所述,WebLogic Server 提供一组用来指定编码的参数。在使用它时,必须指定从 HTTP 请求到 HTTP 响应的所有内容。在默认情况下,将使用 ISO-8859-1 编码。

Servlet

  1. 指定 HTTP 响应的编码 - response.setContentType()
  2. 指定浏览器显示的编码 - HTML Content-Type
  3. 指定 HTTP 请求的编码 - request.setCharacterEncoding 或 <input-charset>

JSP

  1. 指定 JSP 文件的编码 - page 标记中的 pageEncoding 指令(可选)
  2. 指定页面输出的编码 - page 标记中的 contentType 指令
  3. 指定浏览器显示的编码 - HTML Content-Type
  4. 指定 HTTP 请求的编码 - request.setCharacterEncoding 或 <input-charset>

 

查看本文来源

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

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

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