进入你的msql,查看编码设置:

 show variables like "%char%";

php中mysql乱码问题

然后 根据需要执行:

 SET character_set_client='utf8';

 SET character_set_connection='utf8';

SET character_set_results='utf8';

set character_set_server="utf8";

php中mysql乱码问题

再次查看,就可以看到设置成功了:

php中mysql乱码问题

然后再检查你数据库的编码:

执行:   show create database mydb; (可以看到我数据库的编码式 latin1);

php中mysql乱码问题

接着,设置你数据库的编码方式(注意把数据库名称改成你自己的):

执行:    ALTER DATABASE `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

php中mysql乱码问题

接着查看你的数据库的编码方式:

执行: show create database mydb;  (可以看到已经改过来了)

php中mysql乱码问题

接着:查看你的表格的编码方式(注意:把表名改成你自己的):

执行: show create table student;

php中mysql乱码问题

如果表的编码方式不是utf-8,你可以执行:

ALTER table  `student`  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

最后,应该能够成功了.如果还出现乱码,可以去数据库中查看:

比如我用wampserver的phpMyAdmin,就可以去查看表的结构信息(忽略谷歌浏览器的英文翻译 -_-!! ),

php中mysql乱码问题

最后 :   html中设置编码方式(一般自动生成):

<meta charset="UTF-8">

php中mysql乱码问题

php中也同样:

header("Content-Type: text/html;charset=utf-8");

php中mysql乱码问题

大部分人估计上边的设置完了,乱码就能解决了,但是,我的还是这样(php中):

php中mysql乱码问题

于是去修改my.ini,

一开始在[mysqld]添加: default-character-set = utf8,  但是wampsever重启报错了! 于是我删掉了,然后添加:

[mysqld]下default-character-set = utf8

php中mysql乱码问题

哈哈!乱码成功解决了!


相关文章:

  • 2021-11-07
  • 2021-05-03
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-08-18
  • 2021-12-31
  • 2021-10-15
  • 2021-08-06
相关资源
相似解决方案