就下载 —— 安全下载、无毒手机软件、绿色软件官方下载网站最近更新|下载排行|热门标签|收藏本站

您现在的位置是:就下载 > IT资讯 > 软件教程 > H2数据库的Collation中文排序问题解决方案

最近用 Scala & Lift 做个小项目,用到H2数据库。结果在对中文字段进行排序时发现点问题。在不设置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了!

上一篇:mysql数据库管理工具phpmyadmin上传2M限制取消解决方案

本文地址:软件教程 >> http://www.9xz.net/it/ruanjianjiaocheng/18895.html

下一篇:“呼死你”骚扰电话遭腾讯手机管家精准拦截

  • 打印
推荐阅读
热门专题
推荐内容
热点内容