西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → H2數(shù)據(jù)庫(kù)的Collation中文排序問(wèn)題解決方案

H2數(shù)據(jù)庫(kù)的Collation中文排序問(wèn)題解決方案

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2012/4/21 23:50:52字體大。A-A+

作者:西西點(diǎn)擊:32次評(píng)論:4次標(biāo)簽: 數(shù)據(jù)庫(kù)

  • 類(lèi)型:辦公軟件大。35KB語(yǔ)言:中文 評(píng)分:1.2
  • 標(biāo)簽:
立即下載
最近用 Scala & Lift 做個(gè)小項(xiàng)目,用到H2數(shù)據(jù)庫(kù)。結(jié)果在對(duì)中文字段進(jìn)行排序時(shí)發(fā)現(xiàn)點(diǎn)問(wèn)題。在不設(shè)置Collation的情況下,對(duì)中文字段的排序結(jié)果是亂的(誰(shuí)讓中國(guó)人喜歡拼音排序呢)。發(fā)現(xiàn)這一現(xiàn)象后,將Collation設(shè)為 CHINESE_CHINA看看(注意設(shè)置collation要在數(shù)據(jù)庫(kù)中還沒(méi)創(chuàng)建任何表的時(shí)候喔),

set collation CHINESE_CHINA

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

set collation ICU4J_CHINESE_CHINA

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

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

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

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)