惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园_首页
J
Java Code Geeks
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
量子位
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
B
Blog
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI

博客园 - 玛瑙河

用matplotlib绘制带误差的条形图及中英文字体设置 Python中用MacFSEvents模块监视MacOS文件系统改变一例 修改gnome-shell扩展“Applications Menu”的菜单区域宽度。 VirtualBox 4.3.18 启动虚拟机时显示不能加载 R3模块并退出故障解决一例 自定义IPython Qt Console 窗口大小、字体、颜色 Windows Server 2012 R2 两个奇葩问题的解决 cherokee +php fastcgi 出现 No input file specified 故障一例 ubuntu下从源码编译安装cherokee liftweb整合ckfinder进行文件上传与管理 命令行下多线程下载工具 Axel 2.4 for Windows 解决MASM编程对话框中文问题 清除U盘子目录变成1K大小的快捷方式病毒的脚本 Scala 脚本的 pound bang 魔术 Google URL Shorter HTML中常用的特殊字符实体编码(Character entity references in HTML 4) - 玛瑙河 MrBayes v3.2 for windows 并行版下载及 checkpoint 功能介绍 强制垃圾回收解决.NET Office互操作中文件锁未能释放的问题 童言无忌之小瑈与甲虫 MrBayes v3.1.2 for windows 并行版下载
正确设置H2数据库的Collation解决中文排序问题
玛瑙河 · 2012-04-21 · via 博客园 - 玛瑙河

最近用 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了!