mb_convert_encoding関数とは?
PHPのmb_convert_encoding関数は、文字列の文字エンコーディングを変換する関数です。
mb_convert_encoding関数の概要
mb_convert_encoding関数は、引数に指定された文字列の文字エンコーディングを、指定した文字エンコーディングに変換します。
引数に指定した文字列が空文字列の場合、空文字列を返します。
mb_convert_encoding関数の書き方
mb_convert_encoding関数の書き方は、以下の通りです。
PHP
string mb_convert_encoding(string $text, string $to_encoding, string $from_encoding = null);
引数 $text
には、文字エンコーディングを変換する文字列を指定します。
引数 $to_encoding
には、変換後の文字エンコーディングを指定します。
引数 $from_encoding
には、変換前の文字エンコーディングを指定します。省略した場合は、デフォルトの文字エンコーディングが使用されます。
mb_convert_encoding関数の作成・使用方法
mb_convert_encoding関数を使用するには、以下のように記述します。
PHP
$text = "こんにちは、世界!";
$converted = mb_convert_encoding($text, "UTF-8", "EUC-JP");
echo $converted; // "こんにちは、世界!"
このコードは、文字列 $text
の文字エンコーディングを、EUC-JPからUTF-8に変換し、変数 $converted
に格納しています。
変数 $converted
の値は、以下の通りとなります。
こんにちは、世界!
mb_convert_encoding関数のスクリプトサンプル
mb_convert_encoding関数のスクリプトサンプルを以下に示します。
PHP
// 文字エンコーディングを変換する
$text = "こんにちは、世界!";
// EUC-JPからUTF-8に変換する
$converted = mb_convert_encoding($text, "UTF-8", "EUC-JP");
// 変換後の文字列を出力する
echo $converted; // "こんにちは、世界!"
// UTF-8からEUC-JPに変換する
$converted = mb_convert_encoding($text, "EUC-JP", "UTF-8");
// 変換後の文字列を出力する
echo $converted; // コンニチバ、セカイ!
このコードの出力は、以下の通りとなります。
こんにちは、世界!
コンニチバ、セカイ!
mb_convert_encoding関数特有の事柄・注意点
mb_convert_encoding関数は、文字列の文字エンコーディングを変換する関数ですが、以下の点に注意が必要です。
- 変換前の文字エンコーディングと変換後の文字エンコーディングが対応していない場合、変換に失敗します。
- 変換前の文字エンコーディングがマルチバイト文字エンコーディングの場合、変換後の文字エンコーディングもマルチバイト文字エンコーディングである必要があります。
mb_convert_encoding関数のまとめ
mb_convert_encoding関数は、文字列の文字エンコーディングを変換する関数です。
文字エンコーディングを変換することで、異なるコンピューターやアプリケーション間で文字列を正しくやり取りできるようにすることができます。