python Incorrect string value: '\\xF0\\x9F\\xA6\\x86\\xF0\\x9F...' for column


方法一:修改數據庫字符集

 

 將數據庫中表的字符集改為  utf8mb4  排序規則改為  utf8mb4_general_ci

 

數據庫連接中的字符集也要修改為 utf8mb4

 

mysqldb = pymysql.connect(host="x.x.x.x", port=3306, user="user", password="password", database="db", charset="utf8mb4")

 

 

 

參考:

https://blog.csdn.net/weixin_37557729/article/details/107012034

Mysql中 utf8 與 utf8mb4 字符集的區別:

https://stackoverflow.com/questions/30074492/what-is-the-difference-between-utf8mb4-and-utf8-charsets-in-mysql/30074553#30074553

 

 

方法二:替換為空字符串

數據添加到數據庫時報錯,原因是數據中含有emoji表情,將其替換為空字符串即可

import re


compile_emoji = re.compile('['
                           '\U0001F300-\U0001F5FF'  # 🌀 --> 🗿
                           '\U0001F900-\U0001F9FF'  # 🤀 --> 🧿
                           '\U0001F600-\U0001F64F'  # 😀 --> 🙏
                           '\U0001F680-\U0001F6FF'  # 🚀-\U0001f6ff
                           '\u2600-\u26FF'  # ☀ --> ⛿
                           '\u2700-\u27BF'  # ✀ --> ➿
                           '\u24C2'  # Ⓜ
                           '\U0001F1E6-\U0001F1FF'  # 🇦-🇿
                           '\U0001F170-\U0001F171'  # 🅰-🅱
                           '\U0001F17E-\U0001F17F'  # 🅾-🅿
                           '\U0001F18E'  # 🆎
                           '\U0001F191-\U0001F19A'  # 🆑-🆚

                           # '\u0023'  # # 
                           # '\u002A'  # *
                           # '\u0030-\u0039'  # 0 --> 9

                           '\u2194-\u2199'  # ↔ --> ↙
                           '\u21A9-\u21AA'  # ↩ --> ↪
                           '\u2B05-\u2B07'  # ⬅ --> ⬇
                           '\u2B1B'  # ⬛
                           '\u2B1C'  # ⬜
                           '\u2B50'  # ⭐
                           '\u2B55'  # ⭕
                           '\u2934-\u2935'  # ⤴ --> ⤵
                           '\u3030'  # 〰
                           '\u303D'  # 〽
                           '\u3297'  # ㊗
                           '\u3299'  # ㊙
                           '\U0001F201-\U0001F202'  # 🈁 --> 🈂
                           '\U0001F21A'  # 🈚
                           '\U0001F22F'  # 🈯
                           '\U0001F232-\U0001F23A'  # 🈲 --> 🈺
                           '\U0001F250-\U0001F251'  # 🉐 --> 🉑
                           '\u203C'  # ‼
                           '\u2049'  # ⁉
                           '\u25AA'  # ▪
                           '\u25AB'  # ▫
                           '\u25B6'  # ▶
                           '\u25C0'  # ◀
                           '\u25FB-\u25FE'  # ◻ --> ◾
                           '\u00A9'  # ©
                           '\u00AE'  # ®
                           '\u2122'  # ™
                           '\u2139'  # ℹ
                           '\U0001F004'  # 🀄
                           '\U0001F0CF'  # 🃏
                           '\u231A'  # ⌚
                           '\u231B'  # ⌛
                           '\u2328'  # ⌨
                           '\u23CF'  # ⏏
                           '\u23E9-\u23F3'  # ⏩ --> ⏳
                           '\u23F8-\u23FA'  # ⏸-⏺
                           ']',
                           re.UNICODE)


ret = compile_emoji.sub('', emoji_value)

  

 

參考:

https://blog.csdn.net/zhu6201976/article/details/108413487

https://www.jianshu.com/p/49f7b815b195


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM