正確設定H2資料庫的Collation解決中文排序問題__資料庫

來源:互聯網
上載者:User

    在不設定Collation的情況下,對中文欄位的排序結果是亂的發現這一現象後,將Collation設為 CHINESE_CHINA看看(注意設定collation要在資料庫中還沒建立任何錶的時候喔), set collation CHINESE_CHINA

   

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

   

再次說明,如果已經建立了表,此命令是無效的喔。將collation設定為ICU4J_CHINESE_CHINA 後,中文排序就OK了。

 

來自:http://www.cnblogs.com/agateriver/archive/2012/04/21/h2_collation.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.