ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 国際化対応言語環境の利用ガイド Oracle Solaris 11.1 Information Library (日本語) |
国際化ドメイン名 (IDN) によって、ホスト名およびドメイン名として英語以外のネイティブ言語を使用できます。英語以外のホスト名およびドメイン名を使用するには、RFC5890 に規定されているリゾルバルーチンに名前を送信する前に、これらの名前を ASCII 互換エンコーディング (ACE) でエンコードされた名前に変換します。システム管理アプリケーションが IDN をサポートしていない場合、システム管理者はシステムのファイルおよびアプリケーションにも ACE 名を使用する必要があります。
詳細は、RFC 5890「アプリケーションにおけるドメイン名の国際化 (IDNA)」を参照してください。
図 6-1 Firefox ブラウザでの IDN の例
Oracle Solaris 11 は、2 組の IDS 実装 (ライブラリと関連のユーティリティーを含む) を提供しており、それは GNU IDN ライブラリと JPRS (Japan Registry Services co., Ltd.) idnkit-2 ライブラリです。いくつかのアプリケーションには、独自の IDN 実装を持つものもあります。たとえば、Firefox と Thunderbird には、Necko というネットワークプロトコルコンポーネントに独自の IDN サービスがあります。
GNU-libidn は、GNU Lesser General Public License (LGPL) Version 2.1 以降に基づいてライセンス供与された、GNU プロジェクトです。GNU-libidn は、さまざまな GNU/Linux ディストリビューションで幅広く採用されています。したがって、デスクトップおよび pidgin(1) などの GNOME アプリケーションは、通常は IDN をサポートするために GNU-libidn を利用します。
idn(1) は、国際化ドメイン名のライブラリへのコマンド行インタフェースです。次の例は、UTF-8 のホスト名を ACE エンコーディングに変換します。結果の URL http://xn-fsqu00a.xn--0zwm56d は、ACE でエンコードされた http://例子.测试 に相当するものとして使用できます。
$ idn --quiet -a 例子.测试 xn-fsqu00a.xn-0zwm56d
GNU-libidn は、library/libidn パッケージとしてインストールできます。オプションについての詳細は、idn(1) のマニュアルページを参照してください。
注 - Oracle Solaris 11 に付属する現行バージョンの GNU-libidn は、IDNA2003 標準のみをサポートします。
idnkit-2 ライブラリは、idnkit-2 JPRS 公開ライセンスを持つオープンソースの IDN 実装です。専用の idnkit-2 変換ユーティリティー idnconv(1) は、 さまざまなオプションを持つ IDN 変換を提供します。変換の詳細を制御するオプションの詳細については、idnconv(1) のマニュアルページを参照してください。
Oracle Solaris 11 は、libidnkit(3) の変換ルーチンを利用することによって、iconv(3C) インタフェースを介した IDN 変換もサポートしています。次の表に示されているように、iconv(1) ユーティリティーは、ACE および UTF-8 との間の変換にも使用できます。
IDNA2008 では 2 つの動作モード lookup および registration の用語が明示的に定義されているため、対応する iconv コード変換名の別名 IDNA2008-LOOKUP (ACE-ALLOW-UNASSIGNED の別名) および IDNA2008-REGIST (ACE の別名) も提供します。
表 6-1 iconv IDN コード変換
|
ACE および ACE-ALLOW-UNASSIGNED iconv コード変換名 (およびその別名) には次の意味があります。
ACE または IDNA2008-REGIST
ACE は fromcode または tocode 名であり、RFC 5890 で定義されている ASCII 互換エンコーディングを参照するために、iconv コード変換で使用できます。この変換は STD3 ASCII のルールを使用します。割り当てられていない文字は許可されません。通常、ACE はホスト名またはドメイン名をマシンに格納または提供するために使用されます。
ACE-ALLOW-UNASSIGNED または IDNA2008-LOOKUP
ACE-ALLOW-UNASSIGNED は ACE と同じ処理を実行しますが、ACE-ALLOW-UNASSIGNED は例外として、割り当てられていない文字を許可します。通常、ACE-ALLOW-UNASSIGNED は照会のために使用されます。
次の例は、hostnames.txt ファイルからの入力による、ACE から UTF-8 の変換を示します。出力は標準出力に送信されます。
$ iconv -f ACE -t UTF-8 hostnames.txt
idnkit-2 ライブラリおよび iconv コード変換については、libidnkit(3 ) および iconv_en_US.UTF-8(5) のマニュアルページを参照してください。