Php+Mysql:Incorrect string value: '......' for column 'name' at row 1

2018年8月10日14:23:04

在学习PHP+MySql的时候遇到了如下问题:

Php+Mysql:Incorrect string value: '......' for column 'name' at row 1_第1张图片
PHP代码

浏览器报错

问题只出现在需要插入中文时,原本以为是MySql的字符编码问题,所以尝试添加了如下代码发现并没有什么卵用,而在数据库中直接插入并没有任何问题。

mysqli_query($con,"set names utf8");

baidu/google后找到各种解决方案,大致上有以下几种,尝试后均无效

  • 修改MY.ini文件
  • 修改Mysql中的编码
  • 字符无法使用utf-8显示

解决方案

右击项目文件夹选择属性,会看到如下图所示的文本文件编码

Php+Mysql:Incorrect string value: '......' for column 'name' at row 1_第2张图片
文件编码

将其修改为UTF-8

Php+Mysql:Incorrect string value: '......' for column 'name' at row 1_第3张图片
修改为UTF-8

到项目的根目录下,找到PHP文件,用记事本打开直接另存为,会发现虽然项目目录已经改了字符编码,但已有的文件字符编码却并没有发生变化,将其更改为UTF-8后保存覆盖掉原来的文件。

Php+Mysql:Incorrect string value: '......' for column 'name' at row 1_第4张图片
image.png

测试发现已经可以正常对MySql进行读写操作了

Php+Mysql:Incorrect string value: '......' for column 'name' at row 1_第5张图片
测试

仔细鼓捣了一下发现,修改了项目目录的字符编码后,新建的文件会以新的字符编码生成,而原有的文件则以原有的字符编码存在。

你可能感兴趣的:(Php+Mysql:Incorrect string value: '......' for column 'name' at row 1)