Go to main content
Oracle® Solaris 11.3 国際化対応言語環境の利用ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

国際化ドメイン名のサポート

国際化ドメイン名 (IDN) によって、ホスト名およびドメイン名として英語以外のネイティブ言語を使用できます。英語以外のホスト名およびドメイン名を使用するには、RFC 5890 に規定されているリゾルバルーチンに名前を送信する前に、これらの名前を ASCII 互換エンコーディング (ACE) でエンコードされた名前に変換します。システム管理アプリケーションが IDN をサポートしていない場合、システム管理者はシステムのファイルおよびアプリケーションにも ACE 名を使用する必要があります。

詳細は、RFC 5890「アプリケーションにおけるドメイン名の国際化 (IDNA)」を参照してください。

図 4  Firefox ブラウザでの IDN の例

image:Firefox ブラウザでの IDN の例

Oracle Solaris 11 は、2 組の IDS 実装 (ライブラリと関連のユーティリティーを含む) を提供しており、それは GNU IDN ライブラリと JPRS (Japan Registry Services co., Ltd.) idnkit-2 ライブラリです。いくつかのアプリケーションには、独自の IDN 実装を持つものもあります。たとえば、Firefox と Thunderbird には、Necko というネットワークプロトコルコンポーネントに独自の IDN サービスがあります。

GNU 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 標準のみをサポートします。

JPRS idnkit-2 ライブラリ

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 の別名) も提供します。

表 16  iconv IDN コード変換
元のコード
変換後のコード
ACE または IDNA2008-REGIST
UTF-8
ACE-ALLOW-UNASSIGNED または IDNA2008-LOOKUP
UTF-8
UTF-8
ACE または IDNA2008-REGIST
UTF-8
ACE-ALLOW-UNASSIGNED または IDNA2008-LOOKUP

ACE および ACE-ALLOW-UNASSIGNED iconv コード変換名 (およびその別名) には次の意味があります。

  • ACE または IDNA2008-REGIST

    ACEfromcode または tocode 名であり、RFC 5890 で定義されている ASCII 互換エンコーディングを参照するために、iconv コード変換で使用できます。この変換は STD3 ASCII のルールを使用します。割り当てられていない文字は許可されません。通常、ACE はホスト名またはドメイン名を格納または設定するために使用されます。

  • ACE-ALLOW-UNASSIGNED または IDNA2008-LOOKUP

    ACE-ALLOW-UNASSIGNED は、ACE-ALLOW-UNASSIGNED が割り当てられていない文字を許可する以外は、ACE と同じ処理を実行します。通常、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) のマニュアルページを参照してください。