PHP マニュアル
前のページ |  | 次のページ

# LX. 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.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 以降で使用可能です。

PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

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

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

# リソース型

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

# 定義済み定数

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

表 2. `iconv`定数

名前 | 型 | 説明
--- | --- | ---
ICONV_IMPL | string | 実装の名前
ICONV_VERSION | string | 実装のバージョン

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

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

前のページ | ホーム | 次のページ
icap_store_event | 上に戻る | iconv_get_encoding