1.javascript實現
1 var a = ["啊","得啊_123","得啊_0124","波啊","婆"]; 2 a.sort(); //原始數據排序 3 a.sort(function(a,b){return a.localeCompare(b)}); //指定排序函數
指定排序函數時,和當前系統的區域設置有關系,如果是按照別的區域設置排序,可改。firefox下通過,360不支持。
2. php實現
1> 網絡上很多php的工具類可以將漢字轉為拼音;
2> 將拼音進行排序即可
另一種則是類似mysql轉碼方式:
1 foreach ($array as $key=>$value) 2 { 3 $new_array[$key] = iconv('UTF-8', 'GBK', $value); 4 } 5 asort($new_array); 6 foreach ($new_array as $key=>$value) 7 { 8 $array[$key] = iconv('GBK', 'UTF-8', $value); 9 }
3.mysql實現
如果當前數據庫編碼是utf-8,則進行轉碼,轉為gbk,gbk默認漢字按照拼音排序存放:
1 SELECT * FROM USER ORDER BY convert(uname using gbk) ASC
如果當前編碼為gbk則:
1 SELECT * FROM USER ORDER BY uname ASC
