このモジュールには、iconv による文字集合の変換機能へのインターフェースが含まれています。 このモジュールにより、ローカルな文字集合で表された文字列を、Unicode 文字集合のような 他の文字集合で表わされた文字列に変換することができます。 サポートされる文字集合は、使用するシステムの iconv の実装に依存します。 いくつかのシステムでは iconv 関数は意図した通りに動作しない可能性があることに注意してください。 この場合は、GNU libiconv ライブラリをインストール すると良いでしょう。 このライブラリの出力は、多くの場合、より妥当なものとなります。
PHP 5.0.0以降、この拡張モジュールには、 多言語スクリプトを書く際に有用な種々のユーティリティが附属しています。 この新機能については、以下のセクションを参照してください。
使用しているシステムが、最近のPOSIX対応システムのどれかである場合には、標準C 言語ライブラリの中にiconv機能が含まれているため、何かをする必要はありません。 そうでない場合は、 libiconvライブラリを入手して使用する システムにインストールする必要があります。
この関数を使用するには、
PHPバイナリを以下のオプションを指定して
構築する必要があります。
--with-iconv[=DIR]
Windows® ユーザへの注意: Windows®環境でこのモジュールを有効にするには、 PHP/Win32バイナリパッケージに附属するiconv.dllまたは iconv-1.3.dll (4.2.1より前)という名前の DLLファイルを環境変数PATHで指定した ディレクトリまたは Windows® のシステムディレクトリにコピーする 必要があります。
このモジュールは、PHP 5 で PHP の一部として組み込まれました。 iconv.dll や php_iconv.dll は もはや必要ありません。
php.ini の設定により動作が変化します。
表 1. Iconv 設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 4.0.5 以降で使用可能です。 |
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 4.0.5 以降で使用可能です。 |
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 4.0.5 以降で使用可能です。 |
警告 |
(IBM AIX のように)いくつかのシステムでは "ISO-8859-1" ではなく "ISO8859-1" を使用することがあります。そのような場合は、設定オプションや 関数のパラメータにはこの値を使用しなければなりません。 |
注意: 設定オプション
iconv.input_encoding
は、 今のところ一切利用されていません。
リソース型は定義されていません。
PHP 4.3.0以降、この拡張モジュールで使用される iconv 実装の種類を実行時に調べることができます。
注意: これらの定数を用いて実装に依存するスクリプトを書くことは全く推奨されません。
PHP 5.0.0以降、以下の定数も利用可能です。
表 3. PHP 5.0.0以降で利用可能なiconv定数
名前 | 型 | 説明 |
---|---|---|
ICONV_MIME_DECODE_STRICT | integer | iconv_mime_decode()で使用されるビットマスク |
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | integer | iconv_mime_decode()で使用されるビットマスク |
GNU Recode 関数も参照してください。