mb_internal_encoding関数の基本構文
デフォルトの内部文字エンコーディングに使われている文字コードを変更する、もしくは確認する。
mb_internal_encoding(string $encoding = null)
内部文字エンコーディングとは?
PHPはの内部文字エンコーディングとは具体的には以下の処理に使われる文字コード設定のことです。
- マルチバイト文字列mbstring関数(mb_***の関数)においてデフォルトの文字エンコーディング
- HTTP入力文字変換
- HTTP出力文字変換
パラメータ
型 | 名前 | 初期値 | 説明 |
string | $encoding | null | エンコーディング文字列 例) SJIS, SJIS-win, ISO-2022-JP, JIS, UTF-8, EUC-JP |
返り値(戻り値)
型 | 説明 | 例 |
bool | string | パラメータをnullにすれば現在の設定値を確認。 パラメータに文字エンコーディングを指定すれば値を変更する。 | UTF-8 |
mb_internal_encoding関数の使い方
内部文字エンコーディングを変更するサンプルソースコード
echo mb_internal_encoding() . PHP_EOL; //現在のエ内部文字エンコーディングのUTF-8と出力
echo mb_internal_encoding("SJIS") . PHP_EOL; //セット成功でtrueなので1と出力
echo mb_internal_encoding() . PHP_EOL; //SJISと出力
内部文字エンコーディングを変更してmbstring関数を使うサンプルのソースコード
$str_utf8 = "あいうえお"; //UTF-8のあいうえお
$str_sjis = mb_convert_encoding($str, "SJIS", "UTF-8"); //SJISのあいうえお
mb_internal_encoding("SJIS"); //デフォルトの内部文字エンコーディングをSJISに変更
//UTF-8の文字列をデフォルトSJIS→UTF-8変換するので文字化けしてしまう
echo mb_convert_encoding($str_utf8, "UTF-8") . PHP_EOL; //縺ゅ>縺?∴縺と出力
//SJISの文字列をデフォルトSJIS→UTF-8変換するので正常に出力される
echo mb_convert_encoding($str_sjis, "UTF-8") . PHP_EOL; //あいうえおと出力
コメント