乱码原因分析:
web应用之所以会出现乱码问题,根本原因是各部分文件编码不一致造成的,像PHP对中文的编码方式,HTML对中文的编码方式,MySQL表的编码方式.这三种文件的不一致才是乱码问题的罪魁祸首.
解决方法:
(1) 在创建数据库和表的时候我已经选择了UTF-8的编码方式,但是数据表中的排列规则默认是latin1_swedish_ci,我把它调整为:utf8_general_ci.这样保证了MySQL数据库编码方式是utf-8.
(2) 在所有HTML代码的里面设置编码方式为utf-8.实现 代码为:<meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />这样保证了HTML文件的编码方式为utf-8.
(3) 对于PHP文件,首先在每一个PHP文件的第一行添加header("content-Type: text/html; charset=utf-8");代码,以保证数据在通过HTTP传输时的编码为utf-8。然后是最关键的步骤: 在每一个执行数据库查询的PHP代码处设定MySQL数据与PHP的 交互方式为utf-8实现代码为://设置读取数据库的数据编码格式
mysqli_query($conn ,"set character set 'utf8'");//读库,$conn代表连接的数据库
mysql_query($conn,"set names 'utf8'");//写库 后面测试中,这两行代码保证了输入数据库中的数据是正常的。