<?php@header("Content-type:text/htmlcharset=UTF-8")echo $str= '你好,这里是卖咖啡!'echo '<br />'echo iconv("UTF-8","gbk//TRANSLIT",$str)//将字符串的编码从UTF-8转到GB2312
echo '<br />'echo iconv_substr($str, 1, 1, 'UTF-8')//按字符个数截取而非字节print_r(iconv_get_encoding())//得到当前页面编码信息echo iconv_strlen($str, 'UTF-8')//得到设定编码的字符串长度?>
gbk转换为utf8的方法:
<?php
@header("Content-type:text/htmlcharset=GB2312")echo $str= '你好,这里是卖咖啡!'echo '<br />'echo iconv('GB2312', 'UTF-8', $str)//将字符串的编码从GB2312转到UTF-8echo '<br />'echo iconv_substr($str, 1, 1, 'GB2312')//按字符个数截取而非字节print_r(iconv_get_encoding())//得到当前页面编码信息echo iconv_strlen($str, 'GB2312')//得到设定编码的字符串长度?>
Unicode是一个字符集,Unicode是定长的都为双字节.这里我们常用的是utf8字符集编码,楼主是说的Unicode转换为UTF-8吧。
/**
* Unicode字符转换成utf8字符
* @param [type] $unicode_str Unicode字符
* @return [type] Utf-8字符
*/
function unicode_to_utf8($unicode_str) {
$utf8_str = ''
$code = intval(hexdec($unicode_str))
//这里注意转换出来的code一定得是整形,这样才会正确的按位 *** 作
$ord_1 = decbin(0xe0 | ($code >>12))
$ord_2 = decbin(0x80 | (($code >>6) &0x3f))
$ord_3 = decbin(0x80 | ($code &0x3f))
$utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3))
return $utf8_str
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)