js实现方法(具体思路为:指定使用排序函数)
<script>
var a = ["啊","午安_123","一哟_0124","为","吱吱"];
a.sort(); //原始数据排序
a.sort(function(a,b){return a.localeCompare(b)}); //指定排序函数
</script>
指定排序函数时,和当前系统的区域设置有关系,如果是按照别的区域设置排序,可改。firefox下通过,360不支持。
php实现方法(具体思路为:将编码转换为gbk再用asort排序后再将编码转换回来utf-8)
<?php
foreach ($array as $key=>$value){
$new_array[$key] = iconv('UTF-8', 'GBK', $value);
}
asort($new_array);
foreach ($new_array as $key=>$value){
$array[$key] = iconv('GBK', 'UTF-8', $value);
}
?>
此外thinkphp中直接可以使用ORDER("convert(name using gb2312) ASC")来进行排序
mysql实现方法(具体思路为:如果当前数据库编码是utf-8,则进行转码,转为gbk,gbk默认汉字按照拼音排序存放)1.如果编码为utf-8
SELECT * FROM USER ORDER BY convert(uname using gbk) ASC
2.如果编码为gbk
SELECT * FROM USER ORDER BY uname ASC