微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP校对集-乱码问题

校对集就是数据库数据进行比较的时候所采用的比较方式。
A =======> 01000001 =======> 65
a =======> 01100001 ========> 97

校对集有三种比较方式
   _bin:使用二进制进行比较(区分大小写)
   _ci:(case insensitive),大小写不敏感,不区分大小写(将某个字符转变成另外一个字符对应的大小写,从而再进行数值的比较)
   _cs:(case sensitive),大小写敏感,区分大小写

比较大小:order by 字段 [asc|desc],对字段进行排序,asc表示升序(认的),desc表示降序

认的,不论是gbk还是utf8是不区分大小写

这里写图片描述



MysqL校对集查看:show collation;

修改数据库校对集

这里写图片描述

_bin和_ci的区别

这里写图片描述

utf8不支持中文比较,gbk支持(拼音比较)


乱码问题

乱码的原因:某一端不能正常的解析另一端提供的数据(理解的目标数据的字符集有误
web包含三个部分:浏览器显示数据库存储,PHP文件
  浏览器显示认是gbk
  数据库存储:认是utf8
  PHP文件:utf-8

防止乱码原理

这里写图片描述

理想状态下,我们希望浏览器,PHP脚本和数据库字符集三码合一,都使用一种字符集来实现。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐