尝试使用 Django 在 MySQL 中存储 unicode 字符串时,您可能会遇到一条错误消息,指出“字符串值不正确。”此问题的出现是由于 MySQL 对 utf-8 字符集中 unicode 字符大小的限制。
MySQL 的 utf-8 字符集支持每个字符最多 3 个字节。但是,某些 unicode 字符需要 4 个字节或更多。当保存此类字符时,MySQL 会引发“字符串值不正确”错误。
要解决此问题,您需要执行以下步骤:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
与 MySQL 不同,PostgreSQL 支持以 utf8 字符集存储 4 字节 unicode 字符。因此,您可以切换到 PostgreSQL 作为处理较长字符长度的 unicode 字符串的更合适选项。
以上是在 Django 中存储 Unicode 字符串时如何修复 MySQL 的'字符串值不正确”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!