- Home ›
- PHP関数のリファレンス ›
- 文字列関数
mb_convert_encoding関数の使い方(文字エンコードを変換する)
PHP で用意されている組み込み関数の一つである mb_convert_encoding 関数の使い方です。 mb_convert_encoding 関数は文字のエンコードを変換します。
(2022 年 09 月 28 日公開 / 2022 年 09 月 28 日更新)
mb_convert_encoding関数の書式と基本的な使い方
mb_convert_encoding 関数は次のように定義されています。
string mb_convert_encoding ( string $str, string $to_encoding [, mixed $from_encoding] )
mb_convert_encoding() は、文字列 strの文字エンコーディングを from_encoding から to_encoding に変換します。 引数: $str 対象の文字列 $to_encoding 変換後のエンコーディング $from_encoding 変換前のエンコーディング 戻り値: エンコードが変換された文字列
対象の文字列を指定したエンコーディングに変換します。1番目に引数には対象の文字列を格納した変数を指定します。2番目の引数には変換後のエンコーディングとして「EUC-JP」や「SJIS」などのエンコーディング名を指定します。
3番目の引数は省略可能ですが対象の文字列の変換前のエンコーディングを指定します。変換前のエンコーディングが分かっていればそのエンコーディングを指定します。不明な場合は可能性があるエンコーディングを順にカンマで区切って記述します。「auto」を指定した場合には「ASCII,JIS,UTF-8,EUC-JP,SJIS」と記述した場合と同じです。
具体的には次のように記述します。
$str = "元になっている文字列"; $str = mb_convert_encoding($str, "JIS", "SJIS");
この場合は「SJIS」で記述された文字列のエンコードを「JIS」に変換します。
$str = "元になっている文字列"; $str = mb_convert_encoding($str, "JIS", "auto");
この場合は元の文字列のエンコーディングを「ASCII」「JIS」「UTF-8」「EUC-JP」「SJIS」の順番で調べて、そのエンコーディングから「JIS」に変換します。
では実際に試してみます。
<html> <head><title>PHP TEST</title></head> <body> <p>エンコーディングの変換</p> <?php $str = "元になっている文字列"; print($str."<br>"); $str = mb_convert_encoding($str, "UTF-8", "auto"); print($str); ?> </body> </html>
上記ファイルを Web サーバに設置しブラウザ経由で見ると下記のように表示されます。
変換された文字列は文字化けしていますがブラウザの設定を「UTF-8」にすると次のように表示されます。
-- --
PHP で用意されている組み込み関数の一つである mb_convert_encoding 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。