PHP实现GBK/UTF-8编码自动转换的函数


PHP #编码 #函数2012-10-29 14:43

实践中,基本上比较流行的编码就是GBK和UTF-8的转换,所以这个函数是针对这两个编码进行自动转换的。

01<?php
02 
03/**
05* @ string 需要转换的文字   
06* @ encoding 目标编码   
07**/   
08function detect_encoding($string,$encoding = 'gbk'){
09    $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);
10    if($is_utf8 && $encoding == 'utf8'){
11        return $string;
12    }elseif($is_utf8){
13        return mb_convert_encoding($string, $encoding, "UTF-8");
14    }else{
15        return mb_convert_encoding($string, $encoding, 'gbk,gb2312,big5');
16    }
17}



相关文章

粤ICP备11097351号-1