gpt4 book ai didi

python - 将unicode象形文字保存到mysql

转载 作者:行者123 更新时间:2023-11-30 21:34:23 31 4
gpt4 key购买 nike

我有一些代码(在 django 服务器上)将 POST 请求中包含的 json 数据写入 mysql 数据库。一些请求包含特定的象形图,如 📸 或 🦁。这些应该写入文本字段,但会导致数据库错误。

处理请求的代码看起来像

            json_data = json.loads(request.body.decode('utf-8'))
i = Event(event=json_data['event'], dt=parse(json_data['dt']),
object_id=json_data['object_id'], user_id=json_data['user_id'],
payload=json_data['payload'])
i.save()

数据库排序规则当前设置为 uft8_general_ci。

返回的错误是“不正确的字符串值”。

将此类请求与其他请求一起保存到数据库的最佳做法是什么?

更新:通过将排序规则更改为 utf8mb4_general_ci,我现在可以将这些符号直接写入数据库(通过 phpmyadmin),但 python 请求仍然没有成功。同样的错误。 django 那边有什么东西吗?

最佳答案

将 MySQL 字符集更改为 utf8mb4 将允许您将象形图直接序列化到数据库,但为了在 Django 端修复此问题,您还必须更新您的 settings.py(见下文):

DATABASES = {
'default': {
'ENGINE':'django.db.backends.mysql',
'NAME': 'mydatabase',
'OPTIONS': {'charset': 'utf8mb4'},
} }

另见 MySQL “incorrect string value” error when save unicode string in Django

关于python - 将unicode象形文字保存到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54732504/

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