最近在保存微博數據到(csv文件)時報錯:
UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f9e0' in position 230: illegal multibyte sequence
打印輸出:print("\U0001f9e0") 結果是😒 ,數據中類似這樣的特殊數據很多,導致無法保存。
解決方法是:message = message.encode("gbk", "ignore").decode("gbk")
這里通過encode()將Unicode編碼轉換成gbk編碼,在轉換的過程中通過“ignore”忽略掉gbk不能識別的字符(😒),然后再把gbk轉換成Unicode編碼。當然,這並不是一種完美的方式,畢竟犧牲部分字符串。
