utf8_decode UTF-8 エンコードされた文字列を、ISO-8859-1 に変換し、表現できない文字を置換する &warn.deprecated.function-8-2-0; &reftitle.description; stringutf8_decode stringstring この関数は、文字列 stringUTF-8 エンコードから ISO-8859-1 へ変換します。 有効な UTF-8 ではない文字列バイト、 および ISO-8859-1 に存在しない UTF-8 の文字 (つまり、U+00FF 以降のコードポイント) は、 ? に置き換えられます。 ISO-8859-1 文字エンコーディングを使っているとマークされている 多くの Web ページが、実際にはそれと似た Windows-1252 を使っており、 Web ブラウザは ISO-8859-1 Web ページを Windows-1252 として解釈しています。Windows-1252ISO-8859-1 のある制御文字の代わりに、ユーロ記号 () や curly quote ( ) を印字可能な文字として追加しています。 この関数はそうした Windows-1252 文字を正しく変換しません。 Windows-1252 の変換が必要な場合は、別の関数を使ってください。 &reftitle.parameters; string UTF-8 エンコードされた文字列。 &reftitle.returnvalues; string を ISO-8859-1 に変換した結果を返します。 &reftitle.changelog; &Version; &Description; 8.2.0 この関数は、推奨されなくなりました。 7.2.0 この関数は、XML拡張モジュールから PHP のコアに移動しました。 これより前のバージョンでは、 この関数は XML拡張モジュール をインストールしていた場合にのみ利用可能でした。 &reftitle.examples; 基本的な例 ]]> &example.outputs; &reftitle.notes; この関数は推奨されません。代替については下記のとおりです。 この関数は、PHP 8.2.0 以降は推奨されなくなり、 将来のバージョンで削除される予定です。 この関数を使っているコードをチェックし、適切な代替に置き換えるべきです。 この関数と似た機能は、 mb_convert_encoding で実現できます。 この関数は、ISO-8859-1 と、多くの他の文字エンコーディングをサポートしています。 ]]> &example.outputs; 他の代替として、インストールされている拡張機能に依存した関数ですが、 UConverter::transcodeiconv が挙げられます。 次のコードは、いずれも同じ結果を返します: ]]> &example.outputs; UConverter::transcode'to_subst' オプションとして '?' を指定すると、 ISO-8859-1 で表現できないか、不正な文字列の場合の utf8_decode 関数と同じ結果を返します。 '?'] ); var_dump($iso8859_1_string); ?> ]]> &example.outputs; &reftitle.seealso; utf8_encode mb_convert_encoding UConverter::transcode iconv