咨询电话:
15628812133
22
2023/12

Django如何设置连接数据库使用的字符集

发布时间:2023-12-22 15:59:33
发布者:已经写了
浏览量:
0

还是之前说的问题,向数据库存储emoji表情的时候,报错:Incorrect string value: '\xF0\x9F\xA4\x97\xF0\x9F...' for column 'content' at row 1。

上篇文章说到,只需要把字段的格式设置成utf8mb4的字符集就可以解决这个问题。确实如果我们把字段的字符集设置成这样之后,使用数据库管理工具的时候可以直接把emoji写入到字段中,但是为什么在程序中写入数据库的时候还是报这个错误呢。

经过我的一番思索后想到,可能是因为数据库连接的设置问题,连接数据库的时候没有指定字符集,数据库连接字符集是用于在数据库连接过程中指定字符编码的参数。它决定了在连接数据库时使用的字符编码方式,一半连接数据库的默认配置都是使用utf8的字符集进行连接,所以我传过去的表情符号其实还是被使用utf8的字符集进行存储了,所以还是报错了。

那么只需要设置一下数据库连接方式就可以了,把连接数据库时使用的字符集设置为utf8mb4,Django如何设置连接数据库使用的字符集呢,需要在项目的settings.py文件中修改数据库配置文件,增加charset:utf8mb4即可解决问题

image


关键词:
返回列表