gpt4 book ai didi

symfony - Doctrine2 不保存 utf-8

转载 作者:行者123 更新时间:2023-12-02 17:07:16 25 4
gpt4 key购买 nike

在我的 Symfony 2 应用程序中,我的 Doctrine 字符集设置为 UTF8

我有一个以 🌹 开头的字符串使用 mb_detect_encoding 它是 UTF-8。

但是将其保存到 Doctrine 实体上的文本字段中会出现以下错误:

SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\\xF0\\x9F\\x8C\\xB9 h...' for column 'text' at row 1",

这里到底发生了什么?

最佳答案

错误消息会告诉您发生了什么情况。数据库引擎无法将字符串值\xF0\x9F\x8C\xB9 存储在数据库中。

这似乎是字符 U+1F339 ROSE位于补充多语言平面,占用4个字节存储。

MySQL UTF8 实际上并不支持所有的 UTF8,并且基本上对于 4 字节字符根本不起作用。 See this answer有关如何修复它的建议,但基本上,如果您想存储这些字符,您需要切换到在任何地方都使用“utf8mb4”字符集和排序规则“utf8mb4_unicode_ci”。

关于symfony - Doctrine2 不保存 utf-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15912529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com