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

PHP字符集问题

1.mytable1存储的数据是utf8字符集(在创建表的时候,指定了表的数据存储字符集为utf8)

2.cmd控制台只能是gbk格式的数据:说明cmd下只能输入和显示gbk格式的数据

这里写图片描述

3.set names gbk的功能

这里写图片描述

客户端与服务端进行不同编码的通信的原理

这里写图片描述

了解数据库的字符集
查看数据库支持哪些字符集?show character set;

这里写图片描述

MysqL支持39种字符集编码。

查看服务器对客户端的认识别方式:将客户端当前何种字符集对待。
show variables like ‘character_set_%’;

这里写图片描述

1.要保证服务器能够正确识别客户端传过去的数据,只要保证character_set_client的字符集与客户端的字符集一致即可。
set character_set_client = gbk;

这里写图片描述

2.要保证服务器能够正确的给客户端提供对应字符集的数据,只要保证character_set_results与客户端的字符集一致即可
set character_set_results = gbk;

这里写图片描述

3.set names gbk:所做的事情就是将传输数据以及接受数据都设置成当前客户端的字符集
set names gbk;
<=========>
set character_set_client = gbk;
set character_set_connection = gbk;
set character_set_results = gbk
set character_set_database = gbk;

在使用cmd下面的MysqL.exe的时候:set names gbk
在使用EditPlus的时候,EditPlus下面的编码是ANSI,ANSI代表当前电脑认的字符集,中国大陆销售的电脑认都是gbk编码:set names gbk
在使用EditPlus的时候,EditPlus下面的编码是utf-8:set names utf8

一旦数据库存储的数据本身是乱码,那么任何修改都不可以生效,全部查看到的都是乱码。

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

相关推荐