PHP Webリファレンス

「PHP Webリファレンス」は、PHP で使用可能な関数や PHP の文法などを分かり易く分類することを目的として作成しています。
PHPによるCGIプログラム作成等の参考にして頂ければと思います。

現在の文字エンコーディング自動検出順を調べる

書式
mb_detect_order ( )
引数・戻り値
戻り値(array) 現在のエンコーディング検出順の配列
備考

文字エンコーディング自動検出順を変更するには、引数を指定して mb_detect_order を使用する。

関連カテゴリー
マルチバイト文字列処理 / 関数・ステートメント索引(M)
サンプルコード
<?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";
	}
}
?>
関連カテゴリー
マルチバイト文字列処理 / 関数・ステートメント索引(M)