Python request.header unicode字符错误

Python request.header unicode字符错误,python,unicode,python-requests,runtime-error,Python,Unicode,Python Requests,Runtime Error,以下代码给出了一个错误: headers = {'Path': '00ab536d1c45d0e21f2726c70ca78a21_كلمة سمو.docx', 'IssueNo': '', 'IssueDate': '2020-01-27', 'IssueYear': '', 'CountryName': '', 'DocSource': '66', 'FileName': '00ab536d1c45d0e21f2726c70

以下代码给出了一个错误:

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。

您需要将字符集设置为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。

这是无法用拉丁语-1编码的阿拉伯字符的问题,您可以尝试使用utf-16或utf-8编码,并在python脚本开头添加以下注释:
#--编码:utf-8--

这是无法用拉丁语-1编码的阿拉伯字符的问题,您可以尝试使用utf-16或utf-8编码,并在python脚本开头添加以下注释:
#--编码:utf-8--

这是否回答了您的问题?这回答了你的问题吗?
#coding:utf-8
注释仅用于源代码中的字符串文本。默认情况下它已经是UTF-8了。我认为这在这里没有帮助。你对python3是正确的,但我不知道这里使用的是哪个版本,这个链接()说Python的(2)默认编码是“ascii”编码。尽管如此,我还是同意这可能不是一个解决方案……你对Python2的看法是对的,但当Py2(终于!)在去年结束时,我开始假设Python3,除非另有说明或有明确的提示(比如没有parens的print语句)。
#coding:utf-8
注释仅用于源代码中的字符串文本。默认情况下它已经是UTF-8了。我认为这在这里没有帮助。你对python3是正确的,但我不知道这里使用的是哪个版本,这个链接()说Python的(2)默认编码是“ascii”编码。尽管如此,我还是同意这可能不是一个解决方案……您对Python2的看法是正确的,但是当Py2(终于!)在去年达到其生命的终点时,我开始假设Python3,除非另有说明或有明确的提示(比如没有paren的print语句)。