File: /var/www/html/wp-content/themes/frameMyrskyNew/auto_charset_to_utf8.php
<?php
/**
* @author	yuanhuan
* @desc		判断是否是utf编码的字符串
* @param	$word	要判断的字符
* @return   bool
*/  
function is_utf8($word){ 
	if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true) {
		 return  1;
	 }else{
		 return  0;
	}            
}
/**
* @author	yuanhuan
* @desc		如果字符串是纯英文或utf-8编码的 直接返回 否则转换成utf-8后返回
* @param	$str	需要转换编码的字符串
* @return   string  转换后的字符串
*/  
function auto_charset_to_utf8($str){	
	$nstr=change_punctuate_ch_to_en($str);
	if(mb_strlen($nstr,'utf-8')==strlen($nstr)||is_utf8($nstr)==1){
		return $str;
	}
	else{
		return mb_convert_encoding($str, "UTF-8", "GB2312,GBK"); 
	}		
}
/**
* @author	yuanhuan isUtf8 对标点符号的判断不太正确,所以先去掉所有标点符号
* @desc		中文标点替换成英文标点
* @param	$str	需要转换字符串
* @return   string
*/ 
function change_punctuate_ch_to_en($str){
	$s_ch = Array('0' , '1' , '2' , '3' , '4' , 
'5' , '6' , '7' , '8' , '9' ,
'A' , 'B' , 'C' , 'D' , 'E' , 
'F' , 'G' , 'H' , 'I' , 'J' ,
'K' , 'L' , 'M' , 'N' , 'O' , 
'P' , 'Q' , 'R' , 'S' , 'T' ,
'U' , 'V' , 'W' , 'X' , 'Y' , 
'Z' , 'a' , 'b' , 'c' , 'd' ,
'e' , 'f' , 'g' , 'h' , 'i' , 
'j' , 'k' , 'l' , 'm' , 'n' ,
'o' , 'p' , 'q' , 'r' , 's' , 
't' , 'u' , 'v' , 'w' , 'x' ,
'y' , 'z' , '-' , ' '  , ':',
'.' , ',' , '/' , '%' , '#' ,
'!' , '@' , '&' , '(' , ')' ,
'<' , '>' , '"' , ''' , '?' ,
'[' , ']' , '{' , '}' , '\' ,
'|' , '+' , '=' , '_' , '^' ,
'¥' , ' ̄' , '`' , '…' , '&'  , '`',
';' , '‘' , '、' , ',' , '。' , '?',
'!' , '#' , '$' , '%' , '^' , '*' , '(' , ')' , '_' , '+' , '-' , '=' , '/' , ';',
'[' , ']' , ';' , ',' , '.' , '{' , '}' , ':' , '|' , '<' , '>' , '?',
'《' , '》' , '、' , ';' , '¥' , '“' , '“', '—', '【' ,'】','‘');
	for($i = 0;$i <= count($s_ch);$i++){
		$str=str_replace($s_ch[$i],'',$str);
	}
	$reg = "/[[:punct:]]/i";
	$str = preg_replace($reg, '', $str);
	return  $str;
} 
/**
* @author	wjq
* @desc		gb2312转utf-8
* @param	$str	要判断的字符
* @return   string
*/  
function gb2312_to_utf8($str){
	return iconv("gb2312", "UTF-8", $str);
}
?>