Skip Navigation Links | |
Exit Print View | |
![]() |
International Language Environment Guide Oracle Solaris 11 Information Library |
2. Unicode and UTF-8 Locale Support
3. Working with Languages and Locales
4. Desktop Keyboard Preferences and Input Methods
International Components for Unicode
Auto Encoding Finder (auto_ef)
Interoperability with Other Platforms
Archives Containing Non-ASCII Filenames
Creating a New Locale Based on a System Locale
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 RFC 3490. 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 3490 Internationalizing Domain Names in Applications (IDNA).
Figure 6-1 Example of IDN in Firefox Browser
Note - Presently, the IDN standard supported in Oracle Solaris 11 is IDNA2003, the latest standard IDNA2008 is not supported.
Oracle Solaris 11 provides two sets of IDN implementations, including libraries and associated utilities: the GNU IDN library and the JPNIC idnkit 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-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. 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.
The idnkit library is an open-source IDN implementation with a BSD-like license. The dedicated idnkit 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. The iconv(1) utility can also be used for the conversions between ACE and UTF-8, as shown in following table.
Table 6-1 iconv IDN Code Conversions
|
ACE is a fromcode or tocode name that can be used in iconv code conversions to refer to the ASCII Compatible Encoding defined in RFC 3490. This conversion uses STD3 ASCII rules. Unassigned characters are not allowed. ACE is typically used for storing or giving host or domain names to machines.
ACE-ALLOW-UNASSIGNED performs the same operations as ACE except that ACE-ALLOW-UNASSIGNED allows unassigned characters. ACE-ALLOW-UNASSIGNED is typically used for query purpose.
For example, you would run the following command to convert input from a text file from ACE to UTF-8 character set.
$ iconv -f ACE -t UTF-8 hostnames.txt
JPNIC idnkit library is available for installation as the library/idnkit package. For information about idnkit library and iconv code conversions, see the libidnkit(3LIB) and iconv_en_US.UTF-8(5) man pages.