mySQL Error 1366(HY000) 数据库无法插入

        最近在学习后端的相关知识,就用到了PHP  Apache以及mySQL .

        在学习mySQL时遇到了一个无法插入数据的错误。从网上也搜了一些解决办法。大多都是在说  将之前的修改字符集的编码改为utf8.可是试过之后,依然报错。在摸索了一段时间之后,知道了问题的根源然后得以解决。

         我自己的问题解决了,希望也能给各位提供到帮助。解决办法如下:

        1、登录mysql客户端。

        2、use    对应数据库

        3、先查看当前数据库的value值   show  variables like ‘%char%’ 是否为utf8.如果不是就用 alter database  数据库名字 charset  utf8;

      4、错误中提示是name属性的值插入不进去,那我就考虑是不是中文字符插入有问题。 然后就将编码改为gbk; set character_set_client=gbk; 结果可以插入了,但是名字是乱码的,

    5 、我们刚才设置的是插入时是可以接收中文字符的。那么我们也将输出结果也改为GBK试一下。 set character_set_results=gbk;

                                                         现在结果应该是可以得了。希望能帮助到大家。

     同样的,当我们用php脚本实现功能的时候,如果出现乱码的情况,就只需要我们在连接数据库的语句之后加入mysql_query("set names 'gbk'")

 

你可能感兴趣的:(后端数据库)