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
转载随意,但请附上文章地址:-)