汉字按首字母排序(javascript,php,mysql实现)
1.javascript实现
var a = ["啊","得啊_123","得啊_0124","波啊","婆"];
a.sort(); //原始数据排序
a.sort(function(a,b){return a.localeCompare(b)}); //指定排序函数
指定排序函数时,和当前系统的区域设置有关系,如果是按照别的区域设置排序,可改。firefox下通过,360不支持。
2. php实现
1> 网络上很多php的工具类可以将汉字转为拼音;
2> 将拼音进行排序即可
另一种则是类似mysql转码方式:
foreach ($array as $key=>$value)
{
$new_array[$key] = iconv('UTF-8', 'GBK', $value);
}
asort($new_array);
foreach ($new_array as $key=>$value)
{
$array[$key] = iconv('GBK', 'UTF-8', $value);
}
3.mysql实现
如果当前数据库编码是utf-8,则进行转码,转为gbk,gbk默认汉字按照拼音排序存放:
SELECT * FROM USER ORDER BY convert(uname using gbk) ASC
如果当前编码为gbk则:
SELECT * FROM USER ORDER BY uname ASC
汉字按首字母排序(javascript,php,mysql实现)的更多相关文章
- MySQL按照汉字拼音首字母排序
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...
- vue中将汉字按照首字母排序,也适用于其他地方,但不适用多音字
1,.定义数组,可以是从后台传回的数据,也可以是自己写的数据(要json格式) 2.定义一个计算属性,用于将汉字排序(多音字的排序不推荐用这个) 3.在页面渲染
- sql语句按照汉字拼音首字母排序
oracle : 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序SCHINESE_STR ...
- sql语句-按照汉字拼音首字母排序
在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序SCHINESE_STROKE_M 按照 ...
- localeCompare按首字母排序汉字
sort() 方法用于对数组的元素进行排序. 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字.比较函数应该具有两个参数 a 和 b,其 ...
- mysql中文名字按首字母排序
在mysql数据库中可以使用GBK编码对中文进行排序,如名字按首字母排序 order by convert(substr(tu.username,1,1) using 'GBK') 其中substr方 ...
- mysql、oracle 中按照拼音首字母排序
mysql中按照拼音首字母排序 convert(name using gbk) ASC 注:name 为字段名称 oracle中按照拼音首字母排序 nlssort(enterprise_name,'N ...
- mysql排序的中文首字母排序和自定义排序
select * FROM organ_new where city_code = 'SZ0755' and organ_type = 'H' and state = '1' ORDER BY FIE ...
- oracle中检索结果汉字首字母排序详解
今天写需求,要求将结果按照成本中心首字母排序,平且空放在最前面. 进入正题: 1.使用oracle自带的函数: 按照首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYI ...
随机推荐
- Linux之计划任务
计划任务特性 1. 需要在指定的某时间段运行 2. 需要将任务结果邮件通知用户 3. 单次任务及循环任务区别 Linux计划任务的实现工具 1. at工具 其只能执行一次性任务 其会自动加载部分环境变 ...
- Eclipse/MyEclipse上配置Spring环境
在MyEclipse上配置Spring环境 myeclipse其实已经集成Spring的开发环境,我们只需在新建的项目上添加spring的配置环境就可以 新建一个java项目 选中创建好的项目之后,在 ...
- CSS :after、before、<!DOCTYPE>
<!DOCTYPE> <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. CSS :选择器 after,before
- MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'解决
MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost'解决: # /etc/init.d/mysql stop # my ...
- 工作所用的日常 Git 命令
几乎每个开发人员都在使用 Git,当然很可能是 GitHub.但大多数开发者大概有 99% 的时间只是使用这三个命令: #使用命令git add <file>,将文件添加到暂存区 git ...
- PHP数组排序函数array_multisort()函数详解(二)
array_multisort()这个函数可以对多个PHP数组进行排序,排序结果是所有的数组都按第一个数组的顺序进行排列 例如array_multisort($a,$b),$a,$b是两个数组,如果排 ...
- Yii2 session的使用方法(3)
Flash数据是一种特别的session数据,它一旦在某个请求中设置后, 只会在下次请求中有效,然后该数据就会自动被删除. 常用于实现只需显示给终端用户一次的信息, 如用户提交一个表单后显示确认信息. ...
- Sql Server Snapshot和mysql MVCC
mysql 在一个事务A中插入一条数据 在B事务中查询到的还是以前的数据,可以select *from table,不被锁住 Sql Server 默认级别 读已提交 所以A事务在 X表插入数据, ...
- java多线程入门学习(一)
java多线程入门学习(一) 一.java多线程之前 进程:每一个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销.一个进程包括1--n个线程. 线程:同一类线程共享代码 ...
- CorelDRAW中关于锁定与解锁对象的操作
在编辑复制的图形时,有时为了避免对象受到操作的影响,可以使用“锁定与解锁对象”功能键对已经编辑好的对象进行锁定.被锁定的对象将不能进行任何编辑操作,本教程将详解CorelDRAW中关于锁定与解锁对象的 ...