最近做的项目要实现跨平台,项目用的是utf-8的编码,由于在操作过程中出现各种编码问题,于是就把utf-8编码转成能够使计算机实现跨语言、跨平台的文本转换及处理的unicode编码。
对于这种问题,我们还是直接上代码来的快,大伙拿去直接用吧,不要谢我。
代码如下 复制代码
public function utf8_unicode($str) {
$unicode = array();
$values = array();
$lookingfor = 1;
for ($i = 0; $i $thisvalue = ord( $str[ $i ] );
if ( $thisvalue // exclude 0-9
if ($thisvalue >= ord('0') && $thisvalue // number
$unicode[] = chr($thisvalue);
}
else {
$unicode[] = '%'.dechex($thisvalue);
}
} else {
if ( $thisvalue $unicode[] = $str[ $i ];
} else {
if ( count( $values ) == 0 ) {
$lookingfor = ( $thisvalue }
$values[] = $thisvalue;
if ( count( $values ) == $lookingfor ) {
$number = ( $lookingfor == 3 ) ?
( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ):
( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 );
$number = dechex($number);
$unicode[] = (strlen($number)==3)?u0.$number:u.$number;
$values = array();
$lookingfor = 1;
} // if
} // if
}
} // for
return implode(,$unicode);
}