在Laravel项目的 storages/logs/Laravel.log看到的错误信息片段:

SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x91\x8B\xF0\x9F...' for column 'name' at row 1

出错原因:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同;不相同则会引发MySQL1366错误。

解决方法:

#1.检查数据表所有字段的状态
mysql> SHOW FULL COLUMNS FROM tdb_goods;
#2.发现collatioin项非utf8,需要进行修改,使用如下的语句
mysql> alter table tdb_goods change goods_name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
#3.检查数据表所有字段的状态
mysql> SHOW FULL COLUMNS FROM tdb_goods;
mysql> select * from tdb_goods\g

mysql语句的\g等同于;,\G:将查询到的横向表格纵向输出,方便阅读


未进行修改my.cnf,下面内容可跳过。记录自己的了解和尝试

参考别人的博文,说是 mysql的配置sql-model不正确导致的,需要将 my.cnf中的sql-model中的STRICT_TRANS_TABLES删除

STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)

我的mysql配置文件是在/etc/my.cnf

sudo cp /etc/my.cnf /etc/my.cnf_bak190628
sudo vim /etc/my.cnf

[mysqld]
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

改为

[mysqld]
sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

删除了STRICT_TRANS_TABLES,然后重启 mysql


不修改 my.cnf (在不清楚my.cnf存放的位置时可使用的,但是在mysql服务重启之后,这个设置会失效)

show variables like 'sql_mode';

set global sql_mode='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
References
  1. SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'xxx' at row 1
  2. mysql出现ERROR 1366 (HY000):的解决办法
  3. mysql中\G和\g的作用
  4. MySQL中\g和\G的作用
  5. How do I find the MySQL my.cnf location

SQLSTATE[HY000]: General error: 1366 Incorrect string value的更多相关文章

  1. SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x90\xA3\xF0\x9F...' for column

    在做微信公众号保存用户数据时出现这种错误,一直不知道是哪里的原因,后来发现那个用户昵称带着一只兔子表情,由于数据库编码限制不能保存数据,所有需要先编码, 用PHP的函数就是base64_encode, ...

  2. mysql General error: 1366 Incorrect string value: '\xF0\x9F\x91\x8D\xF0\x9F...' for column 'dianpumiaoshu' at row 1 解决方法

    mysql General error: 1366 Incorrect string value: '\xF0\x9F\x91\x8D\xF0\x9F...' for column 'dianpumi ...

  3. string(81) "SQLSTATE[HY000]: General error: 1364 Field 'content' doesn't have a default value"

    mysql版本是5.7.26,在插入数据时报错: string(81) "SQLSTATE[HY000]: General error: 1364 Field 'content' doesn ...

  4. legend2---数据字段没有默认值错误:SQLSTATE[HY000]: General error: 1364 Field 'h_21_injury_limit' doesn't have a default value

    legend2---数据字段没有默认值错误:SQLSTATE[HY000]: General error: 1364 Field 'h_21_injury_limit' doesn't have a ...

  5. SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (gb2312_chinese_ci,COERCIBLE) for operation '='

    在操作MySQL数据库时,报“ error code [1267]; Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_gen ...

  6. SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine

    今天上课程化平台考试,输入平台网址突然报这个错误 可以先df -h 发现/tmp文件使用满了 ,清理下不需要的临时文件即可

  7. MySQL报错: SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine

    执行命令:df -h [root@iZ25z6qcmrhZ ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/xvda1 40G 38G ...

  8. SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction 解决方法

    SHOW FULL PROCESSLIST; KILL 263071

  9. corresponding SQLSTATE values general error

    http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html B.3 Server Error Codes and Message ...

随机推荐

  1. org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.abc.beans.Minister

    使用mybatis进行一对多嵌套查询时出错,错误原因: <select id="findMinisterById" resultMap="com.abc.beans ...

  2. jquery 弥补ie6不支持input:hover状态

    <!doctype html><html>    <head>    <meta charset="utf-8">    <t ...

  3. Spring Boot Dubbo 应用启停源码分析

    作者:张乎兴 来源:Dubbo官方博客 背景介绍 Dubbo Spring Boot 工程致力于简化 Dubbo | grep tid | grep -v "daemon" tid ...

  4. C# WinFrom 关于MDI

    dev是一个牛B 到没边的控件 我们正常用winform做个原始mdi窗体 一点都不好看 但 用的dev只需要一个控件 就可让显示舒服多了 建一个项目 上边放一个 xtraTabbedMdiManag ...

  5. 基于Python玩转人工智能最火框架 TensorFlow应用实践✍✍✍

    基于Python玩转人工智能最火框架  TensorFlow应用实践 随着 TensorFlow 在研究及产品中的应用日益广泛,很多开发者及研究者都希望能深入学习这一深度学习框架.而在昨天机器之心发起 ...

  6. 一键抓取Android的Locat Log

    很多小伙伴在做App测试时,一遇到Cash,开发同学最常说的一句话,就是抓下Locat日志,很多小伙伴一听到这个抓取日志就会觉得有点烦. ​主要有2点: ​    ​    ​1.是这个bug可能不好 ...

  7. 47. List中特有的方法

    集合的体系:--------------| Collection  单列集合的根接口----------| List 如果实现了List接口的集合类,该类具备的特点是:有序,可重复---------- ...

  8. php Excel导出功能

    /** * * execl数据导出 */ function exportOrderExcel2($title, $cellName, $data) { //引入核心文件 vendor("PH ...

  9. cocos2D-X 常见49种Action

    bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init( ...

  10. delphi 文件存取方法与文件管理组件

    9.2  文件存取方法与文件管理组件 9.2.1  存取文件的类方法 Delphi在许多需要与文件打交道的类中定义了文件存取方法,使用这些方法可以非常方便地将类中的数据保存到文件中,或从文件中读取所需 ...