1
我發佈這個字符「ç」,通常通過表單發送到我不控制的網站。我在編碼數據時遇到了麻煩。嘗試沒有它編碼爲UTF-8發送數據產生這個錯誤(更正:適用於另一個特殊字符這個錯誤,錯誤!):請求使用python進行POST編碼
File "D:\Python34\lib\http\client.py", line 1181, in _send_request
body = body.encode('iso-8859-1')
UnicodeEncodeError: 'latin-1' codec can't encode character '\u0192' in position 512: ordinal not in range(256)
我從保存UTF .csv文件中讀取數據-8編碼(是問題的一部分?)
使用.encode(「UTF-8」)和位的反覆試驗後:
發佈這樣的:在其網站上爲C上顯示:謾§
發佈:ç在其網站上顯示爲:ç
樣品縮短代碼:
headers = {
'Accept' : 'application/json, text/javascript, */*; q=0.01',
'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
}
data = {
"info" : "ç"
}
r = requests.post('www.urlgoeshere.com', headers=headers, data=json.dumps(data,ensure_ascii=False).encode('utf-8'))
作爲即時通訊相信你會發現,我不是很懂行的有關編碼所以儘量與我裸露。
任何人都有關於如何發送這些特殊字符並讓它們正確顯示的提示?或者我應該放棄並全部編輯它們。他們的網站形式無論如何管理它,所以我也想:)
謝謝你的任何和所有幫助。
編輯更完整的.csv代碼:
with open('data.csv', newline='') as dataFile:
dataReader = csv.reader(dataFile)
for row in dataReader:
data = {
"values":{
"title_id":row[1],
"title":row[0],
"other stuff":[{"foo":"bar",
"too":"foobar"}]}
}
這是在循環,我的要求去做爲好。 Data.csv是以逗號分隔的文件,保存爲utf-8。
顯然你正在發送ISO-8859-1字符。嘗試「信息」:ü「ç」。另外看看包含你的代碼的文件是否是UTF-8編碼 – Goufalite
代碼和數據文件都是utf-8。不得不離開一段時間。稍後再回來(並感謝幫助sofar)。 – raecer
'body = body.encode'('iso-8859-1')'是來自httplib,即試圖對請求的主體進行編碼的iso-8859-1,添加實際代碼 –