utf8_encode
ISO-8859-1 文字列を UTF-8 に変換する
&warn.deprecated.function-8-2-0;
&reftitle.description;
#[\Deprecated]
stringutf8_encode
stringstring
この関数は、文字列 string を ISO-8859-1
エンコードから UTF-8 へ変換します。
この関数は、指定された文字列の現在の文字エンコーディングを推測しません。
代わりに、
ISO-8859-1 ("Latin 1" とも呼ばれています)
としてエンコードされていると解釈し、UTF-8 に変換します。
全てのバイト列は有効な ISO-8859-1 の文字列であるため、
この関数は決してエラーになりません。
しかし、異なるエンコーディングを意図していた場合、
有用な結果にはならないでしょう。
ISO-8859-1 文字エンコーディングを使っているとマークされている
多くの Web ページが、実際にはそれと似た Windows-1252 を使っており、
Web ブラウザは ISO-8859-1 Web ページを Windows-1252
として解釈しています。Windows-1252 は
ISO-8859-1 のある制御文字の代わりに、ユーロ記号
(€) や curly quote (“
”) を印字可能な文字として追加しています。
この関数はそうした Windows-1252 文字を正しく変換しません。
Windows-1252 の変換が必要な場合は、別の関数を使ってください。
&reftitle.parameters;
string
ISO-8859-1 形式の文字列。
&reftitle.returnvalues;
string を UTF-8 に変換した結果を返します。
&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::transcode と iconv
が挙げられます。
次のコードは、いずれも同じ結果を返します:
]]>
&example.outputs;
&reftitle.seealso;
utf8_decode
mb_convert_encoding
UConverter::transcode
iconv