[通用]汉字按照拼音字母排序
之前实现了一个
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
['按', '汉', '母', '排', '拼', '序', '音', '照', '字', '字']
[通用]汉字按照拼音字母排序相关推荐
- mysql 汉字字母拼音_mysql 汉字按拼音字母排序、获取拼音首字母、拼音全拼
一.汉字utf-8 转gbk排序 ORDER BY CONVERT(city_name USING gbk) 二.获取词语拼音首字母 创建函数 CREATE FUNCTION `firstPinyin ...
- MySql中用sql语句实现按汉字首字母排序
转载自https://blog.csdn.net/hulinyi123456/article/details/79915521 1.mysql 1)按照汉字的拼音排序 如果存储汉字的字段编码使用的是G ...
- python将汉字转为拼音字母_实用小技巧,Python一秒将汉字转为拼音
大家好,欢迎来到Crossin的编程教室! 有时在处理文件时候,我们需要将中文汉字转换为拼音或者拼音首字母的需求:还有的时候,我们需要对汉字进行按拼音字母排序(汉字的默认排序是编码序而非拼音序).针对 ...
- mysql 字母分组_MySQL按照汉字的拼音排序、按照首字母分类
项目中有时候需要按照汉字的拼音排序,比如联系人列表.矿物分类等,有的还需要按拼音字母从A到Z分类显示. 如果存储汉字的字段编码使用的是GBK字符集,因为GBK内码编码时本身就采用了拼音排序的方法(常用 ...
- mysql汉字的拼音排序
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...
- MySQL按照汉字的拼音排序(A-Z)
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...
- 按汉字首字母排序(sql语句)
在sql server中可以直接通过SQL语句实现按汉字首字母排序,比如我们经常用到的"按姓名首字母排序" --把tableName和colName换成自己的就ok了 --按拼音 ...
- db2 某个字段排序_MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序...
MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序. 下面给出3中比较常用的排序方式,mark一下 1.常规排序ASC DESC ASC 正序 ...
- java pinyin4j 首字母_通讯录之按汉字首字母排序 --java--pinyin4J
最近开发手机端OA系统通讯录时遇到了用汉字首字母排序的问题,各种谷歌后发现了一个轮子pinyin4J,这个轮子是可以将汉字转换成字母拼音,个人觉得很好用,完美的解决了排序的问题,分享一下. 一.工具介 ...
- mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...
MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序.下面给出3种比较常用的排序方式,一起看看吧 MySQL常规排序.自定义排序和按中文拼音字母排 ...
最新文章
- 基于最短路方法的生物序列比对问题研究
- 计算机专业好的广东二本学校排名2015,2015年广东省二本大学排名名单
- 深入实践Spring Boot2.3.2 文档建模
- 电脑手机wifi互传文件_手机之间怎么互传文件?几则小技巧了解下
- JavaScript Math.random()方法介绍
- 模态对话框与非模态对话框的区别
- android开发监听媒体播放器,Android开发之媒体播放工具类完整示例
- 想要挡住对向来车的远光灯,能否把公路中间的隔离墙垒高点来阻挡?
- 为什么有人执着于只买黑色的手机?
- python中常用的函数有哪些_python里常用的函数类型
- JSP教程第4讲笔记
- junit4报测试类class not found
- Flash:Flash动画设计案例集合(广告条制作/遮罩动画/扫光动画/书法手写遮罩动画)图文教程之详细攻略
- JavaWeb整合萤石云(二)
- 修改注册表阻止Office XP发送错误报告
- 网络模块的568B和568A
- 那人立在侧边 水浒传
- 基于java网络版坦克大战游戏
- Redis开启远程访问
- 【装机】将mbr硬盘转换为gpt