utf8_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_encodeISO-8859-1 文字列を UTF-8 に変換する

説明

utf8_encode(string $string): string

この関数は、文字列 stringISO-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-1252ISO-8859-1 のある制御文字の代わりに、ユーロ記号 () や curly quote ( ) を印字可能な文字として追加しています。 この関数はそうした Windows-1252 文字を正しく変換しません。 Windows-1252 の変換が必要な場合は、別の関数を使ってください。

パラメータ

string

ISO-8859-1 形式の文字列。

戻り値

string を UTF-8 に変換した結果を返します。

変更履歴

バージョン 説明
7.2.0 この関数は、XML拡張機能 から PHP のコアに移動しました。 これより前のバージョンでは、 この関数は XML拡張機能 をインストールしていた場合にのみ利用可能でした。

例1 Basic example

<?php
// Convert the string 'Zoë' from ISO 8859-1 to UTF-8
$iso8859_1_string "\x5A\x6F\xEB";
$utf8_string utf8_encode($iso8859_1_string);
echo 
bin2hex($utf8_string), "\n";
?>

上の例の出力は以下となります。

5a6fc3ab

参考

  • utf8_decode() - UTF-8 エンコードされた文字列を、ISO-8859-1 に変換し、表現できない文字を置換する
  • mb_convert_encoding() - ある文字エンコーディングの文字列を、別の文字エンコーディングに変換する
  • UConverter::transcode() - ある文字エンコーディングから別の文字エンコーディングに文字列を変換する
  • iconv() - ある文字エンコーディングの文字列を、別の文字エンコーディングに変換する

関連キーワード:  変換, 文字, 関数, string, ページ, decode, 解釈, バージョン, 移動, インストール