最近在用flask写一个web应用,需要存储用户发表的内容,可能含有 emoji 等内容,但是在存储的时候总是报错 (_mysql_exceptions.OperationalError) (1366, "Incorrect string value: '\\xF0\\x9F\\x98\\xB2' for column 'content' at row 1")
,一直以为问题出在数据库端,可是数据库端全部更改为 utf8mb4
还是报错。终于通过查资料发现问题是在 flask-sqlalchemy 默认的字符集设置是不支持 emoji 的 utf8,解决如下:
SQLALCHEMY_DATABASE_URI = '数据库连接配置?charset=utf8mb4'
在数据库连接后指明编码为utf8mb4
ps: 我的配置是通过一个config类来实现的,参考自己的配置,改好数据编码后,在数据库连接URI后 添加 ?charset=utf8mb4
即可,如:
app.config['SQLALCHEMY_DATABASE_URI'] = '数据库连接配置?charset=utf8mb4'
flask + sqlalchemy 存储emoji
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
- 参考1:http://blog.csdn.net/happy_bigqiang/article/details/5...
- 『导言』 iOS开发中用SDWebImage第三方框架,如何改变进行图片缓存的文件夹的名称?下载:SDWebIma...