在SQLite中,有没有简单的方法来对包含Unicode数据的行进行排序呢?
有一个叫做 ICU 的库,它可以帮你正确地进行 Unicode 排序;在另一个问题中有个很好的描述:
如何在 sqlite3 中按指定的地区进行文本排序?
SQLite有一个“自带排序器”的政策。想了解更多,可以查看常见问题解答中的相关内容。SQLite选择不默认包含任何支持Unicode的排序算法,这样可以让SQLite库保持轻便,方便静态链接。
不过,你可以创建一个排序器,按照你想要的方式进行排序,然后告诉SQLite使用这个排序器。正如其他人提到的,源代码中有一些排序器是通过ICU来实现的。不过,你也可以使用自己的排序器,这样做是有道理的,特别是当你使用像GLib这样的库时,它本身就支持Unicode。