您好,欢迎访问一九零五行业门户网

关于中文排序的问题

我的数据源是utf8格式的 但是我要对这些数据做排序,由于是中文,我将其转换为gbk或gbk2312,但是排序出了部分不准确的问题
我是用php的array_multi_sort方法排序的
排序结果中会出现这样的问题
黑框里这些数据很明显按照拼音降序排列不正确 但是后面的数据却都是合适的,不知道这是什么原因?还是说gbk的库不够全?
补充一段测试代码
$array = array(鹭,昊,瀚,骅,众,怡,萃,重,恺,鑫);foreach($array as $val){ $newarr[] = iconv('utf8','gbk',$val);}array_multisort($newarr,sort_desc,sort_flag_case );echo ;print_r($newarr);die;

回复内容: 我的数据源是utf8格式的 但是我要对这些数据做排序,由于是中文,我将其转换为gbk或gbk2312,但是排序出了部分不准确的问题
我是用php的array_multi_sort方法排序的
排序结果中会出现这样的问题
黑框里这些数据很明显按照拼音降序排列不正确 但是后面的数据却都是合适的,不知道这是什么原因?还是说gbk的库不够全?
补充一段测试代码
$array = array(鹭,昊,瀚,骅,众,怡,萃,重,恺,鑫);foreach($array as $val){ $newarr[] = iconv('utf8','gbk',$val);}array_multisort($newarr,sort_desc,sort_flag_case );echo ;print_r($newarr);die;

若按照汉字的拼音排序结果不一定准确, 也可以按照汉字的ascii排序, 但程序复杂度上升, 若你的分类数据是从数据库读出来的, 可以试试在数据库中添加排序字段
其它类似信息

推荐信息