西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數據庫教程 → H2數據庫的Collation中文排序問題解決方案

H2數據庫的Collation中文排序問題解決方案

相關軟件相關文章發(fā)表評論 來源:西西整理時間:2012/4/21 23:50:52字體大小:A-A+

作者:西西點擊:32次評論:4次標簽: 數據庫

  • 類型:辦公軟件大。35KB語言:中文 評分:1.2
  • 標簽:
立即下載
最近用 Scala & Lift 做個小項目,用到H2數據庫。結果在對中文字段進行排序時發(fā)現點問題。在不設置Collation的情況下,對中文字段的排序結果是亂的(誰讓中國人喜歡拼音排序呢)。發(fā)現這一現象后,將Collation設為 CHINESE_CHINA看看(注意設置collation要在數據庫中還沒創(chuàng)建任何表的時候喔),

set collation CHINESE_CHINA

結果還是不盡如人意,雖然絕大多數記錄排序是正確的(按拼音排序),但還是有少量比較生僻的字給單獨排在了最后。試想如果某個領導的名字按拼音排序本來要排在前面的,結果因為生僻字給排到了最后,被領導發(fā)現了會不會不高興給你小鞋穿呢?要盡善盡美怎么辦呢?查了一下H2的文檔,講到設置collation的時候可以調用 ICU4J(ICU for java)來替代使用內置的collation機制。(不知道ICU,你out了吧,要不要google一下先?。 到ICU網站下載了icu4j.jar,將其加入到 CLASSPATH中,重啟H2的服務。再次創(chuàng)建數據庫,創(chuàng)建數據庫后立即在沒有創(chuàng)建表的情況下輸入下列命令設置collation:

set collation ICU4J_CHINESE_CHINA

再次說明,如果已經創(chuàng)建了表,此命令是無效的喔。將collation設置為ICU4J_CHINESE_CHINA 后,中文排序就OK了!

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(4)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數: 0/500 (您的評論需要經過審核才能顯示)