mb_detect_order( str1 ) mb_detect_order( array1 )
戻り値(bool) |
成功した場合:TRUE 失敗した場合:FALSE |
引数1(str1) |
新しく設定するエンコーディングの検出順序をカンマ区切りの文字列で指定する "auto" を指定した場合は "ASCII, JIS, UTF-8, EUC-JP, SJIS" と記述した場合と同じになる |
引数1(array1) | 新しく設定するエンコーディングの検出順序を文字列の配列で指定する |
現在の文字エンコーディングを調べるには、引数を指定しないで mb_detect_order を使用する。
<?php //現在の文字エンコーディング自動検出順を取得 $current_order = mb_detect_order(); //デフォルトでは ASCII, JIS, UTF-8, EUC-JP, SJIS の順番 for($i = 0; $i < count( $current_order ); $i ++ ){ print $i . ":" . $current_order[$i] . "\n"; } print "---------------------------------------\n"; //文字エンコーディング自動検出順を変更 if( mb_detect_order( "ASCII, JIS, SJIS, EUC-JP, UTF-8" ) ){ //変更後の文字エンコーディング自動検出順を取得 $current_order = mb_detect_order(); //ASCII, JIS, SJIS, EUC-JP, UTF-8の順に表示 for($i = 0; $i < count( $current_order ); $i ++ ){ print $i . ":" . $current_order[$i] . "\n"; } } print "---------------------------------------\n"; //自動検出順を配列で指定することも可能 $new_order = array("JIS", "UTF-8", "SJIS", "EUC-JP"); if( mb_detect_order( $new_order ) ){ //変更後の文字エンコーディング自動検出順を取得 $current_order = mb_detect_order(); //JIS, UTF-8, SJIS, EUC-JP の順に表示 for($i = 0; $i < count( $current_order ); $i ++ ){ print $i . ":" . $current_order[$i] . "\n"; } } print "---------------------------------------\n"; //"auto" を指定すると、デフォルトの設定に戻すことができる if( mb_detect_order( "auto" ) ){ //変更後の文字エンコーディング自動検出順を取得 $current_order = mb_detect_order(); //デフォルトの ASCII, JIS, UTF-8, EUC-JP, SJIS の順番 for($i = 0; $i < count( $current_order ); $i ++ ){ print $i . ":" . $current_order[$i] . "\n"; } } ?>
スポンサーリンク
このサイトはリンクフリーです。リンクを貼る際に連絡は不要です。
© since 2005 PHP Webリファレンス all rights reserved.