phpはウェブページがutf 8符号化の方法かどうかを判断します。


//判断符号

$encode = mb_detect_encoding($q, array('GB2312','GBK','UTF-8'));
echo $encode."<br/>";
if($encode=="GB2312")
{
    $q = iconv("GBK","UTF-8",$q);
}
else if($encode=="GBK")
{
    $q = iconv("GBK","UTF-8",$q);
}
else if($encode=="EUC-CN")
{
    $q = iconv("GBK","UTF-8",$q);
}
else//CP936
{
    //$q = iconv("GB2312","UTF-8",$q);
}
は実はmb_を利用しています。detect_.encoding関数は、utf 8符号化でないとutf 8符号化に変換され、文字化けなどが発生しないようにします。