mb_convert_encoding関数の基本構文
mb_convert_encodingは文字エンコーディングを指定し、指定の文字列の文字コードの変換をします。
例) UTF-8→SJIS
mb_convert_encoding ( array|string $string , string $to_encoding , array|string|null $from_encoding = null )
パラメータ
型 | 名前 | 初期値 | 説明 |
array|string | $string | 変換する文字列 | |
string | $to_encoding | 変換後の文字コード | |
array|string|null | $from_encoding | null | 変換前の文字コード ※カンマ区切りで複数にすることで優先順に読み込み 例) SJIS, SJIS-win, ISO-2022-JP, JIS, UTF-8, EUC-JP |
返り値(戻り値)
型 | 説明 | 例 |
bool | 変換の成功/失敗のboolean型 |
mb_convert_encoding関数の使い方
文字列の文字コードを文字エンコーディングを指定して変換するサンプルソースコード
$str_utf8 = "あいうえお"; //UTF-8のあいうえお
$str_sjis = mb_convert_encoding($str_utf8, "SJIS", "UTF-8"); //UTF-8→SJISに変換
ファイルの文字エンコーディングを指定して文字化けを防ぐサンプルソースコード
//UTF-8のPHP環境にて
$str_sjis = file_get_contents("japanese.txt"); //SJISで書かれたファイルから読み込み
echo $str_sjis . PHP_EOL; //このまま出力すると文字化けしてしまう
$str_utf8 = mb_convert_encoding($str_sjis, "UTF-8", "SJIS"); //読み込んだ文字列をSJIS→UTF-8に変換
echo $str_utf8 . PHP_EOL; //正常に出力できる
配列の文字コードを変換するサンプルソースコード
$array_utf8 = array("あいうえお", "かきくけこ", "さしすせそ"); //UTF-8の配列
$array_sjis = mb_convert_encoding($array_utf8, "SJIS", "UTF-8"); //配列の中身をUTF-8→SJISに変換
コメント