MYSQL数据库UTF8编码使用汉字拼音第一个字母排序的方法

时间:2022-08-15 16:22:20 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MYSQL数据库UTF8编码使用汉字拼音第一个字母排序的方法

今天做网站时遇到了这样一个问题,有一个标签数据库,在管理标签时想按标签列的汉字拼音的第一个字母排序,这样人工查找的时候就很快可以看到;

于是找了很多资料,发现很多难点

针对UTF8编码对汉字支持不好的确定也比较明显的显示出来了

但是UTF8编码这个标准还是国际化的,将来我觉得也是个趋势

解决这个问题的方法还是希望大家在建立数据库的时候使用UTF8 gbk_chinese_ci 这样对汉字支持会好一点;

下面使用这样的SQL查询语句:

select * from tag order by convert(tag USING gbk) limit 100

select * from tag order by convert(tag USING gbk) COLLATE gbk_chinese_ci limit 100

解释:从tag里查找头100条记录 按tag字段的第一个汉字的字母排序;

UTF8 默认校对集是 utf8_general_ci , 它不是按照中文来的。需要强制让MySQL按中文来排序。

其它方法就是多建一个字段

使用PHP汉字字典类的方法,把第一个汉字的拼音翻译过来就可以了,这个方法和PHP类在下一文来分析一下;

本文来源:https://www.wddqw.com/doc/d924320d0066f5335b81211a.html