SQLSTATE[HY000]: General error: 1366 Incorrect string value
mysqld version: 5.6
字符设置成utf-8
后来,根据此帖子:http://drupal.stackexchange.com/questions/88327/pdoexception-sqlstatehy000-general-error-1366-incorrect-string-value-wh
怀疑是mysql 中utf-8 支持的字符集有限,所以改成了 utf8mb4,但是并没有解决问题。
求助各位大侠。
回复内容:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xE4\xB8\x8A\xE5\xAE\x98...' for column 'content' at row 1
mysqld version: 5.6
字符设置成utf-8
后来,根据此帖子:http://drupal.stackexchange.com/questions/88327/pdoexception-sqlstatehy000-general-error-1366-incorrect-string-value-wh
怀疑是mysql 中utf-8 支持的字符集有限,所以改成了 utf8mb4,但是并没有解决问题。
求助各位大侠。
因为是用的PDO,而且SQL语句比较长。就没有把SQL语句给贴出来。
原PHP语句是:BookArticle::create(array('title' => $title, 'content' => $article_content, 'book_id' => $book->id, 'spider_url' => $url));
我用的是laravel 框架。
执行的时候报错:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xE4\xB8\x8A\xE5\xAE\x98...' for column 'content' at row 1
我想办法clean utf8 code,依然没办法插入。
后来只想打印出SQL,在phpmyadmin里执行一下.
$sql = "insert into book_articles set title='$title',content='$article_content',book_id=$book_id";
phpmyadmin里的出错信息是 data too long for text ...
把text换成longtext 问题解决。
问题解决的有点慢,原因有两个
1,PDO给里给出的出错信息不够准确。
2,有几篇文章采集时却实有编码问题,这个问题过份的吸引了注意力。
贴sql(字数补丁)
推荐阅读
-
ERROR 1366 (HY000): Incorrect string value: '\xE9\x83\x91\xE5\xB7\x9E' for column 'aa' at row 1 MySQL 字符集
-
在django做QQ登录中:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'
-
MySQL里的ERROR 1366(HY000):Incorrect string value问题_MySQL
-
ERROR 1366 (HY000): Incorrect string value:’XXX’ for column
-
ERROR 1366 (HY000): Incorrect string value: '\xE9\x83\x91\xE5\xB7\x9E' for column 'aa' at row 1 MySQL 字符集
-
SQLSTATE[HY000]: General error: 1366 Incorrect string value
-
在django做QQ登录中:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'
-
SQLSTATE[HY000]: General error: 1366 Incorrect string value