文字列のエンコーディングを変換 - mb_convert_encoding()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、指定した文字列のエンコーディングを変換する関数 mb_convert_encoding()を紹介します。
mb_convert_encoding関数
string mb_convert_encoding ( string $str, string $to_encoding [, mixed $from_encoding ] )
指定した文字列のエンコーディングを変換します。
引数 $str エンコーディングを変換する文字列を指定します。 $to_encoding 変換するエンコーディングを指定します。 $from_encoding 変換前の文字列のエンコーディングを指定します。 指定しない場合は内部エンコーディングが使われます。 "auto"を指定した場合、mb_detect_order関数で取得するエンコーディング順に 文字列に合うエンコーディングが選択されます。
返り値
エンコーディングを変換した文字列を返します。
サンプルコード
指定した文字列のエンコーディングを変換するサンプルコードです。
mb_convert_encoding( 文字列, 変換後のエンコーディング, 変換前のエンコーディング )
<?php $string = "文字列を変換するってばよ"; /* 内部エンコーディング → SJISへ変換 */ echo mb_convert_encoding( $string, "SJIS" ) . "\n"; /* EUC-JP → UTF-8へ変換 */ echo mb_convert_encoding( $string, "UTF-8", "EUC-JP" ) . "\n"; ?>
実行結果です。内部エンコーディングは「UTF-8」なので、当然文字化けします……。
?????????????????????????????????????? ??絖?????紊????????c???違??
内部エンコーディングの異なるサーバーから受け取ったファイルやHTMLの解析などのときに利用すると便利です。