$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); }