Python ошибка Юникода символа request.header - PullRequest
0 голосов
/ 27 января 2020

Следующий код выдает ошибку:

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)

Как это исправить?

Ответы [ 2 ]

1 голос
/ 27 января 2020

вам нужно установить набор символов как utf-8 или соответствующую кодировку Араби c. Латиница не может кодировать арабские c символы:

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'}

Вам необходимо специально кодировать каждую строку арабского c в utf-8.

0 голосов
/ 27 января 2020

Это проблема с арабскими c символами, которые не могут быть закодированы в латинице-1, вы можете попробовать кодировать с помощью utf-16 или utf-8 с этим комментарием в начале сценария python: # - - кодировка: utf-8 - -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...