多くのトピックがこのテーマで公開されていますが、私は多くの異なる文字を含むテキストを含むデータセットを持っています。したがって、Python 2.7.13でRequestsライブラリを使用してPOSTリクエストを行う前に、テキストをエンコードします。リクエストPost-UnicodeEncodeErrorがutf-8でエンコードされていても表示されます
私のコードは以下の通りです:
# -*- coding: utf-8 -*-
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import json
import requests
text = """So happy to be together on your birthday! ❤ Thankful for real life. ❤ A post shared by Jessica Chastain (@jessicachastain) on Nov 13, 2016 at 5:22am PST"""
textX = json.dumps({'text': text.encode('utf-8')})
r = requests.post('http://####', data=textX,
headers={'Content-Type': 'application/json; charset=UTF-8'})
print(r.text)
データはJSON形式で送信されます。私がUTF-8としてテキストをエンコードしようとするにもかかわらず、依頼から次のエラーが表示されます。
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2764' in
position 42: Body ('❤') is not valid Latin-1. Use body.encode('utf-8')
if you want to send it encoded in UTF-8.
編集:固定 構文エラーではなくjson.dumps
のための問題
は 'textX = json.dumps({」に') 'あなたが閉鎖を欠落しているではありませんテキストエラーが発生している可能性があります... 残りのトレースバックを投稿できますか:どのラインがUnicodeErrorを生成していますか? – cowbert
@cowbert、正しいですか?構文エラーがありましたが、構文が正しい場合でもUnicodeエラーが発生しました。 – Furkanicus