【问题标题】:Incorrect string value \xF0\x9F\x98\x8A\xF0\x9F... for column 'desc'列 'desc' 的字符串值不正确 \xF0\x9F\x98\x8A\xF0\x9F...
【发布时间】:2022-01-24 07:07:51
【问题描述】:

我遇到了这个错误,但仍然不知道为什么。

我预测这是因为一些用户尝试使用表情符号。但我尝试了很多表情符号,一切都奏效了。

我使用 Mysql 5.7 我已经将列设置为 COLLATE utf8mb4_unicode_ci 并将表设置为 CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

【问题讨论】:

    标签: mysql utf8mb4


    【解决方案1】:

    utf-8 中没有 6 字节的代码点。

    \xF0\x9F\x98\x8A\xF0\x9F //check this value, its six bytes.
    

    Emoji Unicode Tables

    【讨论】:

    • 谢谢。但是如何检查该值?我不知道那是什么
    • @DươngViệtHoàng 请查看我的编辑。
    • 是的。我找不到任何一个有 6 字节的代码。我仍然不知道有人如何插入该值以使该错误发生
    • 这不是一个 6 字节的 UTF-8,而是两个 4 字节的 UTF-8 被截断。 \xF0 是 4 字节序列的前导字节。为此,前四个字节是 UTF-8:?。假设标题中的 ... 表示字节数更多,而 OP 没有提供足够的数据。
    猜你喜欢
    • 2013-12-23
    • 2012-11-19
    • 2020-02-20
    • 1970-01-01
    • 2018-05-05
    • 2015-01-24
    • 2017-04-19
    • 2020-11-13
    相关资源
    最近更新 更多