开发者社区> 问答> 正文

报错SQLSTATE[HY000]: General error: 1366 Incorrect string value

SQLSTATE[HY000]: General error: 1366 Incorrect string value: 'xE4xB8x8AxE5xAEx98...' 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,但是并没有解决问题。

求助各位大侠。

展开
收起
落地花开啦 2016-06-17 16:38:20 8406 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    因为是用的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: 'xE4xB8x8AxE5xAEx98...' 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 问题解决。

    2019-07-17 19:43:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载
低代码开发师(初级)实战教程 立即下载

相关实验场景

更多