JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
International Language Environments Guide for Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library
PDF
search filter icon
search icon

Document Information

Preface

1.  Introduction

2.  Unicode and UTF-8 Locale Support

3.  Working with Languages and Locales

4.  Desktop Keyboard Preferences and Input Methods

5.  Configuring Fonts

6.  Advanced Topics

Code Set Conversion

iconv Utility

International Components for Unicode

uconv Utility

File Examiner (fsexam)

Auto Encoding Finder (auto_ef)

Internationalized Domain Name Support

GNU IDN Library

JPRS idnkit-2 Library

Printing Enhancement

mp utility

Interoperability with Other Platforms

NFS Server Considerations

File System Considerations

Archives Containing Non-ASCII Filenames

Creating a Custom Locale

Creating a New Locale Based on a System Locale

How to Create a Custom Locale

Creating a Locale From Scratch

A.  Available Locales

Index

Internationalized Domain Name Support

Internationalized Domain Name (IDN) enables the use of non-English native language names as host and domain names. To use non-English host and domain names, convert these names into ASCII Compatible Encoding (ACE) encoded names before sending the names to resolver routines as specified in RFC5890. System administrators are also required to use ACE names in system files and applications where the system administration applications do not support the IDNs.

For more information, see RFC 5890 Internationalizing Domain Names in Applications (IDNA).

Figure 6-1 Example of IDN in Firefox Browser

image:Example of IDN in Firefox Browser

Oracle Solaris 11 provides two sets of IDN implementations, including libraries and associated utilities: the GNU IDN library and the JPRS (Japan Registry Services co., Ltd.) idnkit-2 library. Some applications might also have their own IDN implementation. For example, Firefox and Thunderbird have their own IDN service in the networking protocol component called Necko.

GNU IDN Library

GNU-libidn is a GNU project, licensed with the GNU Lesser General Public License (LGPL) Version 2.1 or later. GNU-libidn is widely adopted by various GNU/Linux distributions. Therefore, Desktop and GNOME applications such as pidgin(1) usually leverage GNU-libidn for IDN support.

idn(1) is the command line interface to the internationalized domain name library. The following example converts the host name in UTF-8 into ACE encoding. The resulting URL http://xn-fsqu00a.xn--0zwm56d can then be used as ACE-encoded equivalent of http://例子.测试.

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

GNU-libidn is available for installation as the library/libidn package. For more information about options, see the idn(1) man page.


Note - The current version of GNU-libidn shipped in Oracle Solaris 11 only supports IDNA2003 standards.


JPRS idnkit-2 Library

The idnkit-2 library is an open-source IDN implementation with idnkit-2 JPRS Public License. The dedicated idnkit-2 conversion utility idnconv(1) provides IDN conversions with various options. For more information on the options to control the conversion details, see the idnconv(1) man page.

Oracle Solaris 11 also supports IDN conversions through the iconv(3C) interface by leveraging the conversion routines in libidnkit(3). The iconv(1) utility can also be used for the conversions between ACE and UTF-8, as shown in following table.

Since the IDNA2008 explicitly defines terminologies for two operational modes, lookup and registration, we will also supply corresponding iconv code conversion name aliases, IDNA2008-LOOKUP (an alias to ACE-ALLOW-UNASSIGNED) and IDNA2008-REGIST (an alias to ACE).

Table 6-1 iconv IDN Code Conversions

From Code
To Code
ACE or IDNA2008-REGIST
UTF-8
ACE-ALLOW-UNASSIGNED or IDNA2008-LOOKUP
UTF-8
UTF-8
ACE or IDNA2008-REGIST
UTF-8
ACE-ALLOW-UNASSIGNED or IDNA2008-LOOKUP

The ACE and the ACE-ALLOW-UNASSIGNED iconv code conversion names (and their aliases) have the following meanings:

The following example shows a conversion from ACE to UTF-8 with input from the hostnames.txt file. Output goes to standard output.

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

For information about idnkit-2 library and iconv code conversions, see the libidnkit(3) and iconv_en_US.UTF-8(5) man pages.