LVII. iconv 関数

導入

このモジュールには、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.dllphp_iconv.dll は もはや必要ありません。

実行時設定

php.ini の設定により動作が変化します。

表 1. Iconv 設定オプション

名前デフォルト変更の可否変更履歴
iconv.input_encoding"ISO-8859-1"PHP_INI_ALLPHP 4.0.5 以降で使用可能です。
iconv.output_encoding"ISO-8859-1"PHP_INI_ALLPHP 4.0.5 以降で使用可能です。
iconv.internal_encoding"ISO-8859-1"PHP_INI_ALLPHP 4.0.5 以降で使用可能です。
PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

警告

(IBM AIX のように)いくつかのシステムでは "ISO-8859-1" ではなく "ISO8859-1" を使用することがあります。そのような場合は、設定オプションや 関数のパラメータにはこの値を使用しなければなりません。

注意: 設定オプション iconv.input_encoding は、 今のところ一切利用されていません。

リソース型

リソース型は定義されていません。

定義済み定数

PHP 4.3.0以降、この拡張モジュールで使用される iconv 実装の種類を実行時に調べることができます。

表 2. iconv定数

名前説明
ICONV_IMPLstring実装の名前
ICONV_VERSIONstring実装のバージョン

注意: これらの定数を用いて実装に依存するスクリプトを書くことは全く推奨されません。

PHP 5.0.0以降、以下の定数も利用可能です。

表 3. PHP 5.0.0以降で利用可能なiconv定数

名前説明
ICONV_MIME_DECODE_STRICTintegericonv_mime_decode()で使用されるビットマスク
ICONV_MIME_DECODE_CONTINUE_ON_ERRORintegericonv_mime_decode()で使用されるビットマスク

参考

GNU Recode 関数も参照してください。

目次
iconv_get_encoding -- iconv拡張モジュールの内部設定変数を取得する
iconv_mime_decode_headers --  複数の MIME ヘッダフィールドを一度にデコードする
iconv_mime_decode --  MIME ヘッダフィールドをデコードする
iconv_mime_encode --  MIME ヘッダフィールドを作成する
iconv_set_encoding -- 文字エンコーディング変換用の設定を行なう
iconv_strlen --  文字列の文字数を返す
iconv_strpos --  文字列が最初に現れる場所を見つける
iconv_strrpos --  文字列が最後に現れる場所を見つける
iconv_substr --  文字列の一部を切り出す
iconv -- 文字列を指定した文字エンコーディングに変換する
ob_iconv_handler --  出力バッファハンドラとして文字エンコーディングを変換する