出现乱码的原因:编码不统一
1. 出现的编码地方
(1)文件本身的编码
(2)mysql本身的编码
(3)header("content-type:text/html;charset=utf-8")
(4)<meta http-equiv="content-type" content="text/html;charset=utf-8">
(5)set names gbk;
(6)mysql_query("set names utf8");
2. 国标编码(字符集)
gb2312 简体中文(一个汉字占用二个字符)
gbk 简繁体中文(一个汉字占用二个字符)
utf-8 简繁体中文(一个汉字占用三个字符)
3. mysql语句:查看mysql整体编码
show variables like 'character%';
Variable_name | Value
------------------------------------+-------------------------------------------
character_set_client | utf8 mysql客户端的编码
character_set_connection | utf8 连接mysql的编码
character_set_database | utf8 数据库的编码
character_set_filesystem | binary 表明新建的表都是字节文件
character_set_results | utf8 结果集的编码
character_set_server | utf8 mysql服务的编码
character_set_system | utf8 mysql系统的编码
character_sets_dir | D:\MySQL\MySQL Server 5.5\share\charsets\
4. mysql语句:临时改变mysql客户端的编码
set names gbk;
5. 修改mysql本身的编码:修改my.ini配置文件
default-character-set=utf8
character-set-server=utf8
注意:修改完后,重启MySQL服务
6. 集成环境:建库时注意
create database 库名 character set=utf8;