西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程数据库教程 → H2数据库的Collation中文排序问题解决方案

H2数据库的Collation中文排序问题解决方案

相关软件相关文章发表评论 来源:西西整理时间:2012/4/21 23:50:52字体大小:A-A+

作者:西西点击:32次评论:4次标签: 数据库

  • 类型:办公软件大小:35KB语言:中文 评分:1.2
  • 标签:
立即下载
最近用 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了!

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(4)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)