首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Thinkphp中MySQL按照中文拼音排序问题的处理

背景 由于客户需求,需要按照汉字的首字拼音排序,项目开发中免不了数据的排序问题,排序中又免不了对中文的处理。...数据查询的时候不管是按添加时间还是按修改时间排序,用户都不满意,领导说:应该按照名字排序嘛,这样用户就可以预见他想要的数据在什么地方了 ?...发现还不是想要的效果,这也不能怪mysql,毕竟中文博大精深,而我们的目标实际是中文拼音排序,默认情况下mysql是不认识的(虽然我的数据库所有编码都已经设置为了utf-8)。...用‘强大’的百度查了下,mysql要想实现中文拼音排序有两种常用的办法: 第一种 不修改表结构,只修改查询语句: 明确的告诉mysql我这个字段要以gbk编码处理(用gb2312也可以的) 如果数据表tbl...效果和第一种方法一样 还有一种我没有验证的方法,网友提供的,大家可以参考下: 如果你使用源码编译MySQL,可以编译MySQL时使用 –with–charset=gbk 参数,这样MySQL就会直接支持中文查找和排序

2.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 中文拼音函数

    需求是将字符串中的汉字转为拼音。创建一个汉字转拼音的函数,在其中判断每个字符是否为中文,如果是则查询拼音表取得对应的拼音,否则原样返回。...网上的大部分 MySQL拼音函数都是通过创建一个拼音对照表,然后在自定义函数中查询该表实现的。以下对这种实现做了修改,具有以下特点: 不需要拼音表。 与数据库字符集无关。...不考虑多音字拼音上下文语义的正确性。 通过嵌套使用 MySQL 的 elt、interval 函数确定一个汉字对应的唯一拼音。        ...> set @s:='123 中文 ……中a ^华b人 c $民 d共[和]国 Good!'...; Query OK, 0 rows affected (0.00 sec)   mysql> select to_pinyin(@s,3); +----------------------------

    46210

    Golang 中文拼音

    翻遍整个 GitHub , Golang 中文拼音类库, 怎么就这么难找呢? 于是我造了一个轮子: 中文拼音类库. 目前来说应该是最好用的了....`, "-").Unicode() fmt.Println(s) // 转换简体中文和繁体中文, 转换为带 斜杆/ 分隔的拼音字符串 // 不显示声调 // wo/he/shi/neng/bao...`).Unicode() fmt.Println(s) // 转换简体中文和繁体中文, 转换为带 空格 分隔的拼音字符串 // 不显示声调 // wo, he shi neng bao fu?..."-").Unicode() fmt.Println(s) // 转换简体中文和繁体中文, 转换为带 斜杆/ 分隔的人名拼音字符串 // 不显示声调 // mo/qi/wo/xi/huan/chi...---- // 转换简体中文和繁体中文, 输出为带 连字符- 分隔的拼音字符串首字符 // m-q-w-x-h-c-s-n s = dict.Abbr(`万俟沃喜欢吃酸奶`, "-") fmt.Println

    29520

    前端中文汉字转拼音

    本文简介 这次要推荐一个在前端就能实现 汉字转拼音 的工具库 —— pinyin-pro 。 这个库不止能把中文转成拼音输出,还有拼音匹配、获取声母、获取韵母、获取拼音首字母等功能。...而且还是中文文档啦 这不是废话吗? 先看看效果~ pinyin-pro pinyin-pro 包含了和拼音相关的大部分转换功能。 官方文档也写得很好,案例也很全。...特色功能 获取汉字、词语、句子等多种格式的拼音 获取声母 获取韵母 获取拼音首字母 获取音调 获取多音字的多种拼音 支持人名姓氏模式 支持自定义拼音 支持字符串和数组两种输出形式 支持拼音文本匹配功能...String 类型,需要转化为拼音中文 options:可选。...实时输出拼音 简单介绍完 pinyin-pro 后,我还想介绍几个 HTML 标签:、、 。 标签可以做注释,很适合给汉字做注音。

    5.6K20

    0650-6.2.0-通过UDF实现Hive&Impala的中文拼音排序

    由上面两张图可以看出,在Hive和Impala中排序都失败了,没有按照期望中的中文对应的拼音进行排序。...2 问题解决 1.想要实现对中文字段的排序,需要将中文字段转换成拼音,然后在Hive、Impala中对拼音进行排序即可。...,则将中文转为汉语拼音 hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat...从Hive和Impala的执行结果可以看出,是按照拼音的升序成功进行了排序。...3 问题总结 无论是Hive还是Impala都不支持中文按照拼音排序,因为它们支持的主要是标准的ASCII字符集并不包含中文,如果要对中文按照拼音排序,需要通过UDF将中文转换成拼音后实现,而中文转换成拼音的函数

    1.9K20
    领券