iconv(1) コマンド行ユーティリティーは、文字または文字のシーケンスを、1 つのコードセットから別のコードセットに変換します。これは広範囲のコードセットをサポートします。コードセット名はプラットフォームによって異なることがよくあるため、iconv の別名メカニズムによって多くのコードセットが複数の名前でサポートされます。システムで現在使用可能なコードセットのリストを取得するには、次のコマンドを実行します。
$ /usr/bin/iconv -l
複数のパッケージに iconv モジュールが含まれているため、追加のパッケージをインストールすることでデフォルトのリストを拡張できます。デフォルトのインストールには system/library/iconv/utf-8 パッケージが含まれ、これに、UTF-8 やその他の Unicode コードセットと選択されたほかのコードセットとの間の変換用の、iconv モジュールの基本セットが含まれています。その他のパッケージは、パッケージマネージャーの「システム/国際化」カテゴリから、または pkg (1) コマンドを使ってインストールする際に system/library/iconv/* という名前のパターンを使用することで入手できます。
iconv —f オプションはソースコードセットを定義し、-t オプションはターゲットコードセットを定義します。次のように、iconv を使用すると、ファイル、つまり標準入力を、標準出力に変換できます。
$ /usr/bin/iconv -f eucJP -t UTF-8 file.txt
この例では、file.txt ファイル名が eucJP コードセット (日本語 EUC、Extended UNIX Code Packed Format for Japanese) から変換され、結果が UTF-8 で標準出力に書き込まれます。
Oracle Solaris 11 では、iconv が拡張されて、これらの特殊な状況での変換の動作を変更するフラグが組み込まれました。
不正な文字 – 入力文字が宣言されたソースコードセットで有効ではない
同一でない文字 – ターゲットコードセットに一致する文字がない
//ILLEGAL_DISCARD、//NON_IDENTICAL_DISCARD、//IGNORE、および //TRANSLIT のようなフラグも、コマンド行で使用できます。詳細は、iconv_open (3C) のマニュアルページを参照してください。
iconv の詳細は、iconv(1)、iconv(3C)、iconv_open(3C)、および関連するマニュアルページを参照してください。