# 字符集编码的问题
我们知道一个网站是由客户端网页 php服务器(apache) mysql数据库服务器 三部分组成
客户浏览的浏览器默认的在中国是gbk编码 php服务器默认的是utf8编码 mysql数据库服务器默认的也是utf8编码
客户看到的数据是从mysql数据库当中读取到的数据 但是如果不做任何修改的话 客户端看到的数据绝对会是乱码的 该怎么来做呢? 这所有的一切都得要php来操作了!
php可以来修改浏览器的字符集编码 如果客户端是php文件 我们可以通过header("Content-type:text/html;charset=utf-8")来设置浏览器的字符集编码 如果是客户端的文件是html代码 那么我们可以通过 <meta charset="UTF-8"> 来设置客户端的字符集为utf8
php服务器和mysql服务器之间都是utf8 理论上我们不需要转 但是我们还是要告诉两端服务器 使用的就是我们之前经常见到的set names utf8;
到了mysql服务器当中 我们发现表当中是gbk2312 这个我们就不用管了 那么数据库内部的事情了 它支持39种字符集 所以我们不用管他!反正告诉数据库服务器给你的是utf8 你往回返的也是utf8就足够了!
自此 也就明白了header("")的作用 以及 <meta charset="UTF-8"> 的作用了!