php检测字符编码GBK和UTF-8
function safeEncoding($string,$outEncoding ='UTF-8') { $encoding = "GBK"; for($i=0;$i<strlen($string);$i++) { if(ord($string{$i})<128) continue; if((ord($string{$i})&224)==224) { //第一个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { //第二个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { $encoding = "UTF-8"; break; } } } if((ord($string{$i})&192)==192) { //第一个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { // 第二个字节判断通过 $encoding = "GB2312"; break; } } } if(strtoupper($encoding) == strtoupper($outEncoding)) return $string; else return iconv($encoding,$outEncoding,$string); }
判断$string是否是与当前字符编码一致,如果不一致进行转码(主要解决中文GBK和UTF-8 ASCII编码方式不同)

浙公网安备 33010602011771号