注册 登录
编程论坛 SQLite论坛

求助:Sqlite数据库中文排序问题

五柳 发布于 2023-06-10 08:40, 581 次点击
我用 PHP 结合 SQLite 数据库 开发一个小型办公系统(已经完成),但还有一个问题没有解决,那就是 Sqlite不支持 对中文字段的排序,在网上搜了一下,找到两篇文章:
SQLite-如何实现中文按拼音排序:http://www.
Sqlite中文排序:https://
但我对 SQLite 了解不深,对这两篇文章看不懂,不知道如何编写排序方法,如何安装排序方法(按照文章中的代码在命令行中比葫芦画瓢老是出错)……
顺便说一下,我对 SQLite 数据库的结构设计,使用的是 Navicat Premium 和SQLiteStudio 可视化工具,对命令行了解不多……
请对SQLite 数据库精通的大神出手帮忙指点迷津,不胜感激
2 回复
#2
yiyanxiyin2023-07-07 10:51
不同的语言实现方法不一样, C#那个封装太深, 不利于参考, c那个代码不全, 请参考c语言的完整代码 https://

看明白了你就知道了, 你需要在php中自定义一个比较函数(排序规则), 然后调用sqlite3_create_collation来注册排序规则, 然后使用Sql语句, 这一切都要在php中实现

[此贴子已经被作者于2023-7-7 10:53编辑过]

#3
阳光上的桥2023-07-19 14:41
一、要有一个拼音库,里面有每个汉字的拼音。然后对需要排序的表添加一个文本字段,该字段值为需要排序字段的拼音,对排序字段插入和修改的时候同步修改拼音字段,需要排序的时候使用拼音字段即可。

二、处理同音字,对一个字有多个读音的情况,可以简单按频率优先,也可以上下文结合判断。
1