欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php自动识别文字编码并转换

程序员文章站 2022-03-15 23:45:57
...
  1. /**
  2. * @ string 需要转换的文字
  3. * @ encoding 目标编码
  4. **/
  5. function detect_encoding($string,$encoding = 'gbk'){
  6. $is_utf8 = preg_match('%^(?:[\x09\x0a\x0d\x20-\x7e]| [\xc2-\xdf][\x80-\xbf]| \xe0[\xa0-\xbf][\x80-\xbf] | [\xe1-\xec\xee\xef][\x80-\xbf]{2} | \xed[\x80-\x9f][\x80-\xbf] | \xf0[\x90-\xbf][\x80-\xbf]{2} | [\xf1-\xf3][\x80-\xbf]{3} | \xf4[\x80-\x8f][\x80-\xbf]{2} )*$%xs', $string);
  7. if($is_utf8 && $encoding == 'utf8'){
  8. return $string;
  9. }elseif($is_utf8){
  10. return mb_convert_encoding($string, $encoding, "utf-8");
  11. }else{
  12. return mb_convert_encoding($string, $encoding, 'gbk,gb2312,big5');
  13. }
  14. }
复制代码