为了账号安全,请及时绑定邮箱和手机立即绑定

插入数据库中的中文为乱码

插入进去后 数据库中的中文是乱码   这时候怎么办

正在回答

6 回答

出现乱码一般是两种情况:

1.mysql表的编码问题:

查看步骤:打开mysql -> 进入数据库 -> 输入 show create table 表名(填表名)->看看DEFAULT CHARSET 是不是utf8

不是的话,可以通过以下两种途径进行修改:

  1>alter table 表名 character set utf8

  2>用phpMyadmin进入数据库 ->进入表 ->点击结构 -> 点击修改 -> 在排序规则那一栏改为utf8_general_ci

是utf-8的话,先看看是表中的数据是否乱码,如果是乱码了,就重新创建吧,创建database的时候在最后加上ENGINE=InnoDB DEFAULT CHARSET=utf8 就好了

2.浏览器编码问题。我这里列举Chrome的设置编码的方法。

点击右上角三条横线 -> 更多工具 -> 编码 -> 点击自动检测,点击UTF-8

最后,如果你发现,

    1.你数据库没有问题,

      你可以通过 show variables like 'char%';命令查看

      http://img1.sycdn.imooc.com//5794e5fd0001d7dc06230178.jpg

   2.浏览器也没有问题,

   3.PHP以UTF-8的方式发送查询,而且写入(insert)数据库的时候乱码了

   4.可以试试,先设置在mysql的编码 SET NAMES 'utf8'; 

0 回复 有任何疑惑可以回复我~

set names  GBK,因为你的数据库使用的编码可能是UTF8的所以要先打前面的代码才能看。

0 回复 有任何疑惑可以回复我~

刚才调好了       原来是在mysqli_query('set names utf8 ') 的参数必须要两个才行,不然没用

0 回复 有任何疑惑可以回复我~

我在代码中 mysqli_query('set names utf8 ') 依旧没用   ,在另一个数据库中依旧如此,数据库和浏览器的没问题

0 回复 有任何疑惑可以回复我~

自己敲的,数据库也设置了utf8 然后还是在表中是乱码

0 回复 有任何疑惑可以回复我~

你是复制老师的代码了吧?他的SQL语句设置的是utf8的编码。你数据库里的编码一定也要是UTF8哦。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP与MySQL关系大揭秘
  • 参与学习       72509    人
  • 解答问题       978    个

让我们一起走上探秘之旅,找寻php和mysql恋爱的真谛

进入课程

插入数据库中的中文为乱码

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号