您的位置:威尼斯官方网站 > 威尼斯正规官网 > 华语共有两种排序格局

华语共有两种排序格局

发布时间:2020-01-02 21:04编辑:威尼斯正规官网浏览(62)

    正文实例呈报了PHP与MYSQL中UTF8编码的中文排序方法,共享给我们供大家参谋。具体落到实处方式如下:

    相符的话,普通话共有三种排序情势:

    1.根据拼音排序;
    2.遵照笔画排序;
    3.遵照偏旁排序。

    系统的暗中同意排序情势为拼音排序了,这一个也是我们常用的,上边介绍的正是按拼音排序了

    1. 索要在php数组中用汉语排序,但是平时选取utf8格式的文件,直接用asort排序不行。用gbk和gb2312能够。那跟二种格式的编码有关联。gbk和gb2312本身的编码正是用拼音排序的。

    复制代码 代码如下:function utf8_array_asort(&$array)
    {
    if(!isset($array) || !is_array($array))
    {
    return false;
    }
    foreach($array as $k=>$v)
    {
    $array[$k] = iconv('UTF-8', 'GBK//IGNORE',$v);
    }
    asort($array);
    foreach($array as $k=>$v)
    {
    $array[$k] = iconv('GBK', 'UTF-8//IGNORE', $v);
    }
    return true;
    }

    2. 在MySQL中,大家通常会对贰个字段实行排序查询,但进展粤语排序和寻觅的时候,对汉字的排序和寻觅结果往往都以大错特错的。 这种场地在MySQL的非常多版本中都留存。

    譬如那个标题不化解,那么MySQL将不能够实际管理汉语。 现身那些主题材料的原因是因为MySQL在查询字符串时是大大小小写不灵动的,在编绎MySQL时雷同以ISO-8859字符集作为暗中认可的字符集,由此在可比进度中普通话编码字符大小写调换变成了这种场地。

    消除措施:

    对此包罗粤语的字段加上"binary"属性,使之当做二进制比较,举个例子将"name char(10卡塔尔(قطر‎"改成"name char(10卡塔尔binary"。

    生龙活虎经你使用源码编写翻译MySQL,能够编写翻译MySQL时使用 --with--charset=gbk 参数,那样MySQL就能够直接援助中文搜索和排序了(默许的是latin1)。也能够用 extra-charsets=gb2312,gbk 来参加多个字符集。

    若是不想对表构造实行改革或许再一次编写翻译MySQL,也能够在查询语句的 order by 部分采取 CONVERT 函数。比方

    复制代码 代码如下:select * from mytable order by CONVERT(chineseColumnName USING gbk);

    目的在于本文所述对大家的PHP+MySQL程序设计有所扶植。

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:华语共有两种排序格局

    关键词:

上一篇:函数代码如下

下一篇:没有了