1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x81'

本文探讨了在使用Python从百度地图抓取数据并存入MySQL时遇到的字符编码问题。详细解释了为何部分数据插入失败,归因于MySQL无法识别4字节utf8编码字符,并提供了将数据类型更改为utf8mb4的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:Python从百度地图抓取消息保存到MySQL数据中,对应数据库字段为varchar以及TEXT,字符编码utf-8。部分插入成功,部分插入失败,报错如下。  
error:1366, “Incorrect string value: ‘\xF0\x9F\x98\x81’

是因为mysql不能识别4个字节的utf8编码的字符,抛出了异常,这应该也是问题的根源。、��、类似于这种4个字节,将对应字符类型换成将对应的数据类型改为utf8mb4类型,同时连接类型也要改成utf8mb4_general_ci

https://img1.sycdn.imooc.com/5b40756500011ac504260455.jpg

python 代码形式(3.6)
 conn=pymysql.connect(
       host=’127.0.0.1’,
       port=3306,
       user=’root’,
       passwd=’343434’,
       db=’kmind8’,
       charset=’utf8mb4’,
   )



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值