Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

возникает ошибка UnicodeEncodeError #32

Open
prtolem opened this issue Jul 18, 2022 · 14 comments
Open

возникает ошибка UnicodeEncodeError #32

prtolem opened this issue Jul 18, 2022 · 14 comments

Comments

@prtolem
Copy link

prtolem commented Jul 18, 2022

когда на дедике запускаю бота то при создании счета возникает ошибка
UnicodeEncodeError: 'charmap' codec can't encode characters in position 83-90: character maps to <undefined>

полный трейсбек

ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-27' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=UnicodeEncodeError('charmap', '{"serviceName":"payin-invoicing-api","errorCode":"validation.error","description":"Неверные параметры, измените запрос согласно документации API; Cause: unknown","userMessage":"Неверные параметры, измените запрос согласно документации API; Cause: unknown","dateTime":"2022-07-18T23:37:44.061+03:00","traceId":"1ef2ed275a8597e1","cause":{"expirationDateTime":["должно содержать дату, которая еще не наступила"]}}\r\n', 83, 91, 'character maps to <undefined>')>
Traceback (most recent call last):
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
    for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
    return await asyncio.gather(*tasks)
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\aiogram\dispatcher\handler.py", line 116, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\aiogram\dispatcher\dispatcher.py", line 283, in process_update
    return await self.callback_query_handlers.notify(update.callback_query)
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\aiogram\dispatcher\handler.py", line 116, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "C:\Users\admin\Desktop\bot\main.py", line 252, in gen_payment
    bill = p2p.bill(amount=amount, comment='Пополнение баланса')
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\pyqiwip2p\Qiwip2p.py", line 225, in bill
    qiwi_response = Bill(qiwi_raw_response, self.alt)
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\pyqiwip2p\p2p_types\responses.py", line 73, in __init__
    Reporter(response).save(fn)
  File "C:\Users\admin\AppData\Roaming\Python\Python39\site-packages\response_report\reporter.py", line 79, in save
    rf.writelines(self.lines)
  File "C:\Program Files\Python39\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 83-90: character maps to <undefined>

сделал все согласно документации, ничего не менял кроме комментария

@prtolem
Copy link
Author

prtolem commented Jul 18, 2022

почитал что написано сверху и пришел к выводу что либа что то путает с датой окончания жизни счета
но потом зашел в файл QiwiCrash и увидел что время то он ставит верно
image
и как теперь жить

@ring0jke
Copy link

Столкнулся с той же проблемой, думал я где накосячил, а оказалось нет. Помогиииииитееееее ;(

@WhiteApfel
Copy link
Owner

Юзайте utf-8 для .py файлов

@WhiteApfel
Copy link
Owner

пишут на винде, а потом удивляются, что что-то не работает

@ring0jke
Copy link

Эт да.
А вообще @prtolem в моем случае проблема была в другом, я использовал не тот ключ API. Нужен именно приватный ключ полученный на: p2p.qiwi.com
Я же использовал ключ который выдается на главном сайте киви. (qiwi.com)
Сразу все заработало.

@WhiteApfel
Copy link
Owner

@ring0jke, а разве валидатор не поругался на неправильный ключ?

@ring0jke
Copy link

@WhiteApfel он поругался именно на кодировку,что не смог декодировать ключ.
Ключ был такой примерно : 6fcsda112c499fyt231a8653ddbf15z

@prtolem
Copy link
Author

prtolem commented Jul 28, 2022

Эт да.
А вообще @prtolem в моем случае проблема была в другом, я использовал не тот ключ API. Нужен именно приватный ключ полученный на: p2p.qiwi.com
Я же использовал ключ который выдается на главном сайте киви. (qiwi.com)
Сразу все заработало.

нет, токен взял с сайта p2p.qiwi.com
проблему с данной библиотекой вроде не решил, но библиотека glQiwiApi не выдавала такую ошибку так что использовал ее

@Artem468
Copy link

Artem468 commented Aug 1, 2022

Столкнулся с такой же проблемой, в чем все таки может быть причина?

@WhiteApfel
Copy link
Owner

@Artem468 , предполагаю, что причина в windows, ибо я не могу воспроизвести в линуксе. Файл с кивикрашем что содержит?

@Artem468
Copy link

Artem468 commented Aug 1, 2022

@WhiteApfel Я тоже решил что причина в винде ведь на основном пк все работает, а на дедике нет, в кивикраш содержится хедерсы и параметры запроса и хедерсы ответа самого ответа нет

####################################################
###################### STEP 1 ######################
####################################################

R-URL: https://api.qiwi.com/partner/bill/v1/bills/WhiteApfel-PyQiwiP2P-34839724-154
URL: https://api.qiwi.com/partner/bill/v1/bills/WhiteApfel-PyQiwiP2P-34839724-154
Code: 400 Bad Request
Method: PUT

##################### REQUEST ######################
Headers:

Host: api.qiwi.com
Accept-Encoding: gzip, deflate
Connection: keep-alive
User-Agent: python-httpx/0.23.0
Accept: application/json
Content-Type: application/json
Authorization: Bearer ТУТ БЫЛ КЛЮЧ
Content-Length: 156

########### CONTENT ############
{
"amount": {
"currency": "RUB",
"value": "1.00"
},
"comment": "refill",
"customFields": {},
"customer": {},
"expirationDateTime": "2022-08-01T13:21:37+03:00"
}
######### END CONTENT ##########

##################### RESPONSE #####################

Headers:

Server: nginx
Date: Mon, 01 Aug 2022 13:06:38 GMT
Content-Type: application/json
Content-Length: 353
Connection: keep-alive
Cache-Control: no-cache, no-store
X-B3-SpanId: a35741e9e17677
X-B3-SpanId: 1f8789a7de9136f2
X-Edge-Proxied-Response: true
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-B3-ParentSpanId: 194a35a06a72dfca
X-B3-TraceId: efb87256b69f4876
content-encoding: gzip
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff

########### CONTENT ############

@WhiteApfel
Copy link
Owner

Кажется, что приходит одна кодировка, а он пытается записать в другую. Ничего не понятно и не особо интересно\

@Artem468
Copy link

Artem468 commented Aug 1, 2022

@WhiteApfel а как это можно исправить?

@prtolem
Copy link
Author

prtolem commented Aug 3, 2022

думаю это может быть связано с тем то что время на пк или дедике не верно указано. У кого возникает данная проблема, попробуйте изменить время на московское, должно помочь

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants