国際化ドメイン名 (IDN) によって、ホスト名およびドメイン名に英語以外の言語を使用できます。英語以外のホスト名およびドメイン名を使用するには、RFC 3490 で指定されるリゾルバルーチンに名前を送信する前に、ASCII 互換エンコーディング (ACE) 名に変換します。システム管理アプリケーションが IDN をサポートしない場合、システム管理者はシステムのファイルおよびアプリケーションにも ACE 名を使用する必要があります。
RFC 3490「アプリケーションにおける国際化ドメイン名 (IDNA)」を参照してください。
libidnkit(3EXT) の国際化ドメイン名の API は、UTF-8 またはアプリケーションロケールのコードセットと ACE の便利な変換機能を提供します。idn_decodename2(3EXT) を使用する場合、入力引数のコードセットとして任意のコードセット名を指定することもできます。
元のコード |
変換後のコード |
---|---|
ACE ACE-ALLOW-UNASSIGNED |
UTF-8 UTF-8 |
UTF-8 UTF-8 |
ACE ACE-ALLOW-UNASSIGNED |
ACE と ACE-ALLOW-UNASSIGNED の iconv コード変換名には次の意味があります。
ACE
ACE は fromcode または tocode 名であり、RFC 3490 で定義されている ASCII 互換エンコーディングを参照するために iconv コード変換で使用されます。この変換は STD3 ASCII のルールを使用します。割り当てられていない文字は許可されません。通常、ACE はホスト名またはドメイン名をマシンに格納または提供するために使用します。
ACE-ALLOW-UNASSIGNED
ACE-ALLOW-UNASSIGNED は割り当てられていない文字を許可する以外は、ACE と同じ処理を実行します。通常、ACE-ALLOW-UNASSIGNED は照会のために使用します。
次の例は、hostnames.txt ファイルからの入力による ACE から UTF-8 への変換です。出力は標準出力に送られます。
system% iconv -f ACE -t UTF-8 hostnames.txt
専用の IDN 変換ユーティリティ idnconv(1) では、さまざまなオプションとともに IDN 変換が可能です。オプションによって変換の詳細を制御できます。
IDN、変換ルーチン、および iconv コード変換については、libidnkit(3LIB)、idn_decodename(3EXT)、 idn_decodename2(3EXT)、idn_encodename(3EXT)、および iconv_en_US.UTF-8(5) のマニュアルページを参照してください。