requestsでUnicodeEncodeErrorがでたけど何でも良いから送信したい時
python のrequestsの話です。
import requests r = requests.post(url, data=str) >> UnicodeEncodeError ...
となってしまった時は
r = requetsts.post(url, data=str.encode('utf-8', errors='ignore')
とすればよろしく無い文字を無視してPOSTしてくれる。
これは内部でstr.encode('utf-8')
みたいに文字列をバイト列に変換しているためで、最初からdataにバイト列を渡しておけば起こらないのでignoreを指定して無理やりutf-8のバイト列にしている。
ignoreの他にも色々エラーハンドラがあって、 ここ で確認できる。
使用例はこっち