php 中文按照拼音字母排序實現方式
阿新 • • 發佈:2018-11-07
漢字按首字母排序(JAVASCRIPT,PHP,MYSQL實現)
Posted on 2014-03-21 15:38 碼農戀碼 閱讀( 8648) 評論( 0) 編輯 收藏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