文字列のエンコーディング検出順の取得と設定 - mb_detect_order()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、文字列のエンコーディングを検出する順序の取得と設定する関数 mb_detect_order()を紹介します。
mb_detect_order関数
mixed mb_detect_order ([ mixed $encoding_list ] ) 引数を指定しない場合は文字列のエンコーディング検出順を取得します。 検出順を設定する場合は引数にその順序を指定します。
引数 $encoding_list カンマ「,」区切りでエンコーディングを指定します。
返り値 引数を指定しない場合は文字列のエンコーディング検出順を配列で返します。 検出順を設定する場合は、成功したら、trueを、その他の場合は、falseを返します。
サンプルコード - 検出順を取得
現在のエンコーディング検出順を取得するサンプルコードです。implode関数を使って配列を文字列に変換しています。
mb_detect_order() ← 引数なし
<?php /* 現在の検出順を表示 */ echo implode(",", mb_detect_order()) . "\n"; ?>
実行結果です。現在のエンコーディング検出順が表示されています。
ASCII,UTF-8
サンプルコード - 検出順を設定
エンコーディング検出順を設定するサンプルコードです。
mb_detect_order( エンコーディング1, エンコーディング2, … )
<?php /* 検出順を変更 */ var_dump( mb_detect_order("ASCII,SJIS,EUC-JP,UTF-8") ); echo implode(",", mb_detect_order()) . "\n"; ?>
実行結果です。現在のエンコーディングの設定が成功したので、trueが返されています。また、設定した検出順を確認するために表示しています。
bool(true) ASCII,SJIS,EUC-JP,UTF-8