"日本語"という文字列を各エンコードでほげほげ
文字化けしたときに、環境に依存しない方法で何とかするときとか。
<?php error_reporting(E_ALL); ini_set("display_errors", 1); /* * "日本語"という文字列を各エンコードで出力 */ echo "UTF-8:" . pack("H*","e697a5e69cace8aa9e") . "<br />\n"; echo "EUC-JP:" . pack("H*","c6fccbdcb8ec") . "<br />\n"; echo "SJIS:" . pack("H*","93fa967b8cea") . "<br />\n"; echo "direct: 日本語<br />\n"; /* * $str に "日本語" と思われる文字列を渡すと、エンコードを返す。 * * 例えば、DBから取得した文字列が化けてるとき。 * DBに"日本語"と書いておき、それをselectしたものをchk()するだけ。 * +------------------------------------------- * |$str = selectした"日本語"と思われる文字列 * |echo chk($str) . "<br />\n"; * +------------------------------------------- */ function chk($str) { if (bin2hex($str) === "e697a5e69cace8aa9e") return "UTF-8"; if (bin2hex($str) === "c6fccbdcb8ec") return "EUC-JP"; if (bin2hex($str) === "93fa967b8cea") return "SJIS"; return "unknown"; } ?>