您的位置:首页 > 编程语言 > PHP开发

PHP自动判断字符集并转码

2013-10-18 16:53 411 查看
01    <?php
02    function safeEncoding($string,$outEncoding ='UTF-8')
03    {
04        $encoding = "UTF-8";
05        for($i=0;$i<strlen($string);$i++)
06        {
07            if(ord($string{$i})<128)
08                continue;
09
10            if((ord($string{$i})&224)==224)
11            {
12                //第一个字节判断通过
13                $char = $string{++$i};
14                if((ord($char)&128)==128)
15                {
16                    //第二个字节判断通过
17                    $char = $string{++$i};
18                    if((ord($char)&128)==128)
19                    {
20                        $encoding = "UTF-8";
21                        break;
22                    }
23                }
24            }
25
26            if((ord($string{$i})&192)==192)
27            {
28                //第一个字节判断通过
29                $char = $string{++$i};
30                if((ord($char)&128)==128)
31                {
32                    // 第二个字节判断通过
33                    $encoding = "GB2312";
34                    break;
35                }
36            }
37        }
38
39        if(strtoupper($encoding) == strtoupper($outEncoding))
40            return $string;
41        else
42            return iconv($encoding,$outEncoding,$string);
43    }
44    ?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: