JavaScript is required to for searching.
跳过导航链接
退出打印视图
国际语言环境指南     Oracle Solaris 11 Information Library (简体中文)
PDF
search filter icon
search icon

文档信息

前言

1.  介绍

2.  Unicode 和 UTF-8 语言环境支持

3.  使用语言和语言环境

4.  桌面键盘首选项和输入法

5.  配置字体

6.  高级主题

代码集转换

iconv 实用程序

International Components for Unicode

uconv 实用程序

文件检查器 (fsexam)

自动编码查找器 (auto_ef)

国际化域名支持

GNU IDN 库

JPNIC idnkit

打印增强功能

mp 实用程序

与其他平台的互操作性

NFS 服务器注意事项

文件系统注意事项

包含非 ASCII 文件名的归档

创建定制语言环境

基于系统语言环境创建新的语言环境

如何创建定制语言环境

从头开始创建语言环境

A.  可用语言环境

索引

国际化域名支持

国际化域名 (Internationalized Domain Name, IDN) 允许将非英文本机语言名称用作主机名称和域名。要使用非英文主机名称和域名,请将这些名称转换为 ASCII 兼容编码 (ASCII Compatible Encoding, ACE) 编码名称,然后将名称发送到 RFC 3490 中指定的解析器例程。系统管理员还需要在系统管理应用程序不支持 IDN 的系统文件和应用程序中使用 ACE 名称。

有关更多信息,请参见 RFC 3490 应用程序中的域名国际化 (Internationalizing Domain Names in Applications, IDNA)。

图 6-1 Firefox 浏览器中的 IDN 示例

image:Firefox 浏览器中的 IDN 示例

注 - 目前,Oracle Solaris 11 中支持的 IDN 标准为 IDNA2003,不支持最新标准 IDNA2008。


Oracle Solaris 11 提供了两组 IDN 实现,包括库和关联的实用程序:GNU IDN 库和 JPNIC idnkit 库。某些应用程序也可能有其自己的 IDN 实现。例如,Firefox 和 Thunderbird 在名为 Necko 的网络协议组件中有其自己的 IDN 服务。

GNU IDN 库

GNU-Libidn 为 GNU 项目,使用 GNU 宽通用公共许可证 (Lesser General Public License, LGPL) 2.1 或更高版本许可。GNU-Libidn 被各种 GNU/Linux 分发版广泛采用。桌面和 GNOME 应用程序(如 pidgin(1))通常利用 GNU-Libidn 实现 IDN 支持。

idn(1) 是国际化域名库的命令行接口。以下示例将采用 UTF-8 编码的主机名转换为 ACE 编码。然后,生成的 URL http://xn-fsqu00a.xn--0zwm56d 可用作 http://例子.测试 的 ACE 编码等效形式。

$ idn --quiet -a 例子.测试
xn-fsqu00a.xn-0zwm56d

GNU-Libidn 可作为 library/libidn 软件包进行安装。有关这些选项的更多信息,请参见 idn(1) 手册页。

JPNIC idnkit

idnkit 库是包含类似 BSD 的许可证的开源 IDN 实现。专用的 idnkit 转换实用程序 idnconv(1) 提供了各种用于 IDN 转换的选项。有关用于控制转换详细信息的选项的更多信息,请参见 idnconv(1) 手册页。

利用 libidnkit 中的转换例程,Oracle Solaris 11 还支持通过 iconv(3C) 接口进行 IDN 转换。iconv(1) 实用程序还可用于 ACE 与 UTF-8 之间的转换,如下表所示。

表 6-1 iconv IDN 代码转换

源代码
目标代码
ACE
UTF-8
ACE-ALLOW-UNASSIGNED
UTF-8
UTF-8
ACE
UTF-8
ACE-ALLOW-UNASSIGNED

例如,运行以下命令可将文本文件中的输入从 ACE 转换为 UTF-8 字符集。

$ iconv -f ACE -t UTF-8 hostnames.txt

JPNIC idnkit 库可以作为 library/idnkit 软件包安装。有关 idnkit 库和 iconv 代码转换的信息,请参见 libidnkit(3LIB) 和 iconv_en_US.UTF-8(5) 手册页。