PyMySQL 的decode坑
生活随笔
收集整理的這篇文章主要介紹了
PyMySQL 的decode坑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
PyMySQL 獲取數據時報 'utf-8' codec can't decode byte 0xed in position 2: invalid continuation byte錯誤 的問題
原因:
?????? 產品表中的title 字段居然有包含utf-8 byte 等混合編碼的字符,而PyMySQL從mysql數據庫取出來記錄進行轉碼是沒有做異常處理,從而導致查詢失敗。
解決:
PyMySQL包目錄下的connections.py文件1232行左右
?????def?_read_row_from_packet(self,?packet):row?=?[]for?encoding,?converter?in?self.converters:data?=?packet.read_length_coded_string()if?data?is?not?None:if?encoding?is?not?None:data?=?data.decode(encoding)if?DEBUG:?print("DEBUG:?DATA?=?",?data)if?converter?is?not?None:data?=?converter(data)row.append(data)return?tuple(row)data = data.decode(encoding)
改為
data = data.decode(encoding,'ignore')
轉載于:https://my.oschina.net/pallormoon/blog/629807
總結
以上是生活随笔為你收集整理的PyMySQL 的decode坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tomcat 软连接
- 下一篇: JavaScript学习 九、事件