【PHP入門2021】デフォルトの文字エンコードを変更、確認する関数mb_internal_encodingの使い方

PHP

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; //あいうえおと出力

関連する関数

mb_convert_encoding

strtolower/mb_strtolower

strtoupper/mb_strtoupper

コメント

タイトルとURLをコピーしました