最近遇到按照汉字进行排序的需求,看到一老程写了一段代码,拉过来备忘
以下是他的代码实现:
public function mySortArray($friendA, $friendB){
setlocale(LC_ALL,‘en_US.UTF8‘);
$name0=$friendA[‘comment‘];
$name1=$friendB[‘comment‘];
if(empty($name0)){
$name0=$friendA[‘nickname‘];
}
if(empty($name1)){
$name1=$friendB[‘nickname‘];
}
$array=[$name0,$name1];
foreach ($array as $key=>$value)
{
$new_array[$key] = iconv(‘UTF-8‘, ‘GB18030//ignore‘,$value);
}
asort($new_array);
$array=[];
foreach ($new_array as $key=>$value)
{
$array[]= iconv(‘GB18030‘, ‘UTF-8‘, $value);
}
if($array[0]===$name1){
return true;
}else{
return false;
}
}
// 以下是我的测试代码,参考PHP manual-》mb_detect_encoding()
$keytitle = ‘年后aa‘;
$encode = mb_detect_encoding($keytitle, array("ASCII","UTF-8","GB2312","GBK","BIG5")); // 检测字符编码
if ($encode == "UTF-8") { // 如果是UTF-8编码,就转换成GBK
var_dump(‘this is UTF-8‘);
var_dump($encode,$keytitle);
$keytitle = iconv("UTF-8","GBK",$keytitle);
var_dump($keytitle);
} else {
echo ‘this is not utf-8‘;zhuan‘h
var_dump($encode);
}
exit;
获取字符编码并转换成目的编码
原文:http://www.cnblogs.com/highland-cnblogs/p/5131543.html