【PHP8.x】utf8_encode関数の使い方

作成日: 更新日:

utf8_encode関数は、ISO-8859-1エンコーディングで記述された文字列を、Webや多くのシステムで広く利用されているUTF-8エンコーディングに変換する関数です。主に、古いシステムやデータベースから取得したデータがISO-8859-1形式であった場合に、それをPHPアプリケーション内でUTF-8として安全に処理したい場面で利用されてきました。

この関数は、変換したいISO-8859-1形式の文字列を引数として受け取り、変換が成功した場合はUTF-8形式の文字列を返します。変換に失敗した場合は、falseが返されます。

しかしながら、PHP 8.2.0バージョンより、utf8_encode関数は非推奨(deprecated)となりました。これは、この関数が特定のエンコーディング間(ISO-8859-1からUTF-8)の変換にしか対応しておらず、現代の多様なエンコーディング要件に対応できないためです。さらに、将来のPHP 9.0.0バージョンでは削除される予定です。

そのため、新規に開発するアプリケーションではこの関数を使用せず、代わりに、より多くのエンコーディングタイプをサポートし、柔軟な変換が可能なmb_convert_encoding関数やiconv関数を使用することが強く推奨されます。これらの代替関数は、現在のPHPアプリケーション開発において、文字エンコーディング変換の標準的な方法として広く利用されています。古い既存のコードの保守や特定のレガシーシステムとの連携時を除き、新しいコードでは代替関数を利用するようにしてください。

基本的な使い方

構文(syntax)

<?php
$iso88591_string_data = "Ceci est un exemple en français.";
$utf8_encoded_string = utf8_encode($iso88591_string_data);
?>

引数(parameters)

string $string

  • string $string: UTF-8にエンコードしたい文字列を指定します

戻り値(return)

string|false

UTF-8エンコーディングに変換された文字列、または変換に失敗した場合はfalseを返します。

【PHP8.x】utf8_encode関数の使い方 | いっしー@Webエンジニア