python - Python request.header unicode 字符错误
问题描述
以下代码给出了错误:
headers = {'Path': '00ab536d1c45d0e21f2726c70ca78a21_كلمة سمو.docx',
'IssueNo': '', 'IssueDate': '2020-01-27', 'IssueYear': '',
'CountryName': '', 'DocSource': '66',
'FileName': '00ab536d1c45d0e21f2726c70ca78a21_كلمة الأردن.docx',
'DocNumber': '', 'CreateDMSDoc': '1',
'apiKey': '4B30A7BB-05E8-4F7D-A195-093CFA578995'}
response = requests.post('http://localhost/FileUploadService/Api/UploadtStream', files=file, headers=headers)
错误是:
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 33-36: ordinal not in range(256)
我该如何解决?
解决方案
您需要将字符集设置为 utf-8 或适当的阿拉伯字符集。拉丁语不能编码阿拉伯字符:
headers={'Path': '00ab536d1c45d0e21f2726c70ca78a21_كلمة سمو الوزير منتدى المستقبل الأردن.docx'.encode('utf-8'),
'IssueNo': '', 'IssueDate': '2020-01-27', 'IssueYear': '', 'CountryName': '',
'DocSource': '66',
'FileName': '00ab536d1c45d0e21f2726c70ca78a21_كلمة سمو الوزير منتدى المستقبل الأردن.docx'.encode('utf-8'),
'DocNumber': '', 'CreateDMSDoc': '1',
'apiKey': '4B30A7BB-05E8-4F7D-A195-093CFA578995'}
您需要将每个阿拉伯字符串具体编码为 utf-8。
推荐阅读
- python - 清洗数据集。如果单元格包含 "<" do X if ">" do Y with function or apply. 希望所有列只包含浮点数
- python - super().__new__() 用于 Python 3.7 中的对象与类型
- c++ - 有什么方法可以将来自用户输入的多个 int 存储到向量中?
- javascript - Model.find({}) 的默认排序行为是什么?
- c# - 将文本文件数据加载到特定长度场景的数据表中
- ios - '(CreateCompanyTableViewController) -> () -> CreateCompanyTableViewController' 类型的值没有成员'newStakeholders'?
- c# - 如何将 UTC 日期时间插入到 closedXML?
- javascript - 为什么正则表达式没有得到所有匹配项?
- gnuplot - 使用 gnuplot 绘制进程树(更改节点颜色和形状)
- excel - 根据单元格输入更改vba中的excel查询源