中文乱码问题

2/10/2017来源:ASP.NET技巧人气:1255

在一次实践中自己遇到中文乱码的解决流程

主要是html前端页面,php文件,MySQL三者编码的统一

1、显示数据库当前字符集  show variables like "%char%";

若不统一,可以set names utf8;

2、show create table tb_name查看表和字段的编码

将其都设置为utf8

3、都统一后直接使用dos插入中文却出现问题,直接无法插入中文

但是在没有更改php文件编码以及php代码的情况下(此时php文件编码是gbk,并且mysql_set_charset("gbk")),

网页页面上直接添加是成功无乱码的。

4、网上查找原因

“我们用的windows是中文的,那么dos的输入输出也就是GB2312的编码,而你在mysql里设置为utf8,

所以mysql会把dos的gb2312的字符当做utf8来处理,所以会出现问题。那么我们不能改dos的字符处理编码,就只能

将mysql改为gb2312或者gbk了”

5、了解原因后,不再从dos里输入

6、把php文件编码换成utf8(zend studio->edit->set encoding)

7、把浏览器的显示编码设置成utf8

8、把php的header里的charset设置为utf-8

9、<meta>里的编码设置为utf-8

10、php连接数据库时的mysql_set_charset设置为utf8