Forum und email

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 の設定により動作が変化します。

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 以降で使用可能です。
PHP_INI_* 定数の詳細および定義については php.ini ディレクティブ を参照してください。

警告

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

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

リソース型

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

定義済み定数

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

iconv定数
名前 説明
ICONV_IMPL string 実装の名前
ICONV_VERSION string 実装のバージョン

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

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

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 関数も参照してください。

目次