问题来源
做一个报名查询系统,想要按照城市、学校的双重排序导出报名表
cloud.database().collection("signUpList").orderBy('city', 'desc').orderBy('school', 'desc').get()
发现中文不能按照拼音顺序排序,如曹操
在宝贝
之前
原因
查询到如下解决方法,微信小程序用的数据库是MySQL,默认编码为UTF-8。
解决方法
- 微信小程序中实现UTF-8转为GBK
- 然后发现只能在js中引入实现的方法,不能在云函数中引用,于是从云函数转到外部js中实现(云函数只负责获取数据,在js中排序)
- 接下来用js自带的sort函数,先进行sort(
按学校排序
),然后sort(按城市排序
)即可实现城市第一、学校第二的双重排序
let that = this
let arr = res.result.data
arr = arr.sort(that.compSchool)
arr =