[問題] UTF8的中文排序問題

看板Programming作者 (neverfly)時間15年前 (2010/01/22 03:33), 編輯推噓6(6013)
留言19則, 7人參與, 最新討論串1/1
我寫了一個網站,編碼是用UTF8的方式, 但姓名的部份如果用UTF8的字碼下去排序的話, 既不是照注音排也不是照筆劃排, 對於中文使用者來說其實很不直覺。 如果將UTF8轉成Big5再排序的話, 是會按照筆劃排序, 但這樣根本是在開倒車,對其他語系的支援度就變差了。 請問一下以UTF8的中文編碼而言,有照注音或筆劃排序的解決方案嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.55.7

01/22 11:40, , 1F
當然不能把資料轉成big5啊
01/22 11:40, 1F

01/22 11:40, , 2F
但sort key可以用big5
01/22 11:40, 2F

01/22 11:41, , 3F
也可以拿注音去做sort key
01/22 11:41, 3F

01/22 11:41, , 4F
怎麼轉注音就是另一個故事了 而且
01/22 11:41, 4F

01/22 11:42, , 5F
筆劃有唯一性 破音字你打算怎麼處理呢?
01/22 11:42, 5F

01/22 11:55, , 6F
唔..其實仔細看可以發現Unicode是以部首排序
01/22 11:55, 6F

01/22 12:20, , 7F
呃…照部首排的方式似乎不是我們所習慣的
01/22 12:20, 7F

01/22 12:21, , 8F
所以才想說要怎麼去改變它的排列順序
01/22 12:21, 8F

01/22 12:21, , 9F
因為事實上我也只是要排姓名而已
01/22 12:21, 9F

01/22 12:22, , 10F
我看手邊的Nokia手機,通訊錄也是照注音
01/22 12:22, 10F

01/22 12:22, , 11F
所以才想說也許有現成的方式可以用注音排
01/22 12:22, 11F

01/22 19:44, , 12F
其實字典都是照部首排呀XD
01/22 19:44, 12F

01/22 23:06, , 13F
我的通訊錄混很多日文漢字在裡面
01/22 23:06, 13F

01/22 23:06, , 14F
照注音排的手機根本是找碴....
01/22 23:06, 14F

01/24 02:54, , 15F
照部首排 正是 中文的"字典順序"啊
01/24 02:54, 15F

01/24 02:56, , 16F
照注音排才奇怪。
01/24 02:56, 16F

01/26 08:55, , 17F
user defined function, 自訂一個排序函式,
01/26 08:55, 17F

01/26 08:55, , 18F
以big5的筆劃數排, 註冊到DBMS下.
01/26 08:55, 18F

01/26 08:56, , 19F
然後在下SQL時,以 order by u2b(name) 排序.
01/26 08:56, 19F
文章代碼(AID): #1BMHnn6u (Programming)