首页 > php代码 > php实现编码的转换

php实现编码的转换

php实现编码的转换,这里会把gb2312转换成utf-8

<?php
function gb2utf8($gb) {
    if (!trim($gb)) return $gb;
    $utf8 = '';
    while ($gb) {
        if (ord(substr($gb, 0, 1)) > 127) {
            $t = substr($gb, 0, 2);
            $gb = substr($gb, 2);
            $utf8.= $this->u2utf8($this->codetable[hexdec(bin2hex($t)) - 0x8080]);
        } else {
            $t = substr($gb, 0, 1);
            $gb = substr($gb, 1);
            $utf8.= $this->u2utf8($t);
        }
    }
    return $utf8;
}
function u2utf8($c) {
    $str = '';
    if ($c < 0x80) {
        $str.= $c;
    } else if ($c < 0x800) {
        $str.= chr(0xC0 | $c >> 6);
        $str.= chr(0x80 | $c & 0x3F);
    } else if ($c < 0x10000) {
        $str.= chr(0xE0 | $c >> 12);
        $str.= chr(0x80 | $c >> 6 & 0x3F);
        $str.= chr(0x80 | $c & 0x3F);
    } else if ($c < 0x200000) {
        $str.= chr(0xF0 | $c >> 18);
        $str.= chr(0x80 | $c >> 12 & 0x3F);
        $str.= chr(0x80 | $c >> 6 & 0x3F);
        $str.= chr(0x80 | $c & 0x3F);
    }
    return $str;
}


说一点,编码集我就不写出来了,用for一下就知道了.


本文地址:http://www.phprm.com/code/8bf9fa8d35938d2dd2017d536057b20b.html

转载随意,但请附上文章地址:-)

标签:none

发表留言