欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[通用]汉字按照拼音字母排序

发布时间:2024/8/1 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [通用]汉字按照拼音字母排序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

之前实现了一个
python 实现中文转拼音、中文排序的方法
中文转拼音,可以籍此实现中文按照首字母的排序,最近在使用mysql查询的时候也需要对中文进行排序,上网查的时候发现不用那么麻烦。

原理

在不需要拼音只需要根据拼音字母排序的情况下,gbk编码的顺序就已经是按照拼音顺序排的,
那么不管在什么语言中,只要按照排序文本的gbk编码进行排序就ok了。

mysql

  • 如果数据库表字段的字符编码是gbk,则直接使用目标字段排序就可以了;
  • 如果数据库表字段的字符编码是其他编码,比如utf8,那么在排序的order by后面对目标字段进行编码转换,转换为gbk编码,例如SELECT * FROM `table_name` ORDER BY CONVERT(`field_name` using gbk);
  • python

    python3的字符编码已经统一为unicode,直接可以转换为需要的编码

    >>> str_list = list('汉字按照拼音字母排序') >>> str_list ['汉', '字', '按', '照', '拼', '音', '字', '母', '排', '序'] >>> str_list.sort(key=lambda x:x.encode('gbk')) >>> str_list ['按', '汉', '母', '排', '拼', '序', '音', '照', '字', '字']

    总结

    以上是生活随笔为你收集整理的[通用]汉字按照拼音字母排序的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。