我想将 MySQL 返回的中文数据按照拼音进行排序并返回,例如,省份列表:
Order("CONVERT(province USING gbk) COLLATE gbk_chinese_ci")
这是 golang gorm 的写法。
但是会有一个问题,就是对于多音字的处理。看一下返回:
"安徽省",
"北京市",
"福建省",
"甘肃省",
"广东省",
"广西壮族自治区",
"贵州省",
"海南省",
"河北省",
"河南省",
"黑龙江省",
"湖北省",
"湖南省",
"吉林省",
"江苏省",
"江西省",
"辽宁省",
"内蒙古自治区",
"宁夏回族自治区",
"青海省",
"山东省",
"山西省",
"陕西省",
"上海市",
"四川省",
"天津市",
"西藏自治区",
"香港特别行政区",
"新疆维吾尔自治区",
"云南省",
"浙江省",
"重庆市"
重庆市为啥会排在最后呢?
想了一下,大概是重这个字是读音字,被翻译成了 zhong 就排在最后了。。。🥲
DeepSeek 给了一个解决方案,在数据库中直接存储一份省份对应的拼音字段来解决问题,嗯,也是个办法
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式