|
6 / 6 / 0
Регистрация: 04.02.2022
Сообщений: 15
|
||||||
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 5: invalid continuation byte04.02.2022, 20:35. Показов 15142. Ответов 42
Метки нет (Все метки)
Я чайник. Новичок на Пайтон, уже изучаю веб-приложения, помогите пожалуйста!
Я формирую файл с таким содержанием:
C:\Users\user\PycharmProjects\project1\v env\Scripts\python.exe C:/Users/user/AppData/Local/Programs/Python/Python38/webapp/hello_flask.py * Serving Flask app 'hello_flask' (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off Traceback (most recent call last): File "C:/Users/user/AppData/Local/Programs/Python/Python38/webapp/hello_flask.py", line 9, in <module> app.run() File "C:\Users\user\PycharmProjects\project1\ venv\lib\site-packages\flask\app.py", line 920, in run run_simple(t.cast(str, host), port, self, **options) File "C:\Users\user\PycharmProjects\project1\ venv\lib\site-packages\werkzeug\serving.py", line 1010, in run_simple inner() File "C:\Users\user\PycharmProjects\project1\ venv\lib\site-packages\werkzeug\serving.py", line 950, in inner srv = make_server( File "C:\Users\user\PycharmProjects\project1\ venv\lib\site-packages\werkzeug\serving.py", line 782, in make_server return ThreadedWSGIServer( File "C:\Users\user\PycharmProjects\project1\ venv\lib\site-packages\werkzeug\serving.py", line 688, in __init__ super().__init__(server_address, handler) # type: ignore File "C:\Users\user\AppData\Local\Programs\Py thon\Python38\lib\socketserver.py", line 452, in __init__ self.server_bind() File "C:\Users\user\AppData\Local\Programs\Py thon\Python38\lib\http\server.py", line 140, in server_bind self.server_name = socket.getfqdn(host) File "C:\Users\user\AppData\Local\Programs\Py thon\Python38\lib\socket.py", line 756, in getfqdn hostname, aliases, ipaddrs = gethostbyaddr(name) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 5: invalid continuation byte Помогите разобраться пожалуйста! Что делаю не так, ведь я всё делаю по книге.
1
|
||||||
| 04.02.2022, 20:35 | |
|
Ответы с готовыми решениями:
42
'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
|
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
|
| 06.02.2022, 15:24 | |
|
1
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 06.02.2022, 15:31 | |
|
Ципихович Эндрю, что "да"?
1
|
|
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
|
| 06.02.2022, 15:33 | |
|
1
|
|
|
|
||
| 06.02.2022, 15:55 | ||
|
разработчики фреймворка не могут ничего учесть, так как доменные имена - не их епархия (разве что расшифровать ошибку в более понятную). А юзер просто должен знать спецификацию. И если его машина ей не отвечает - это исключительно его проблема. Спецификации для того и существуют, чтобы не было "кто в лес, кто по грибы".
1
|
||
|
|
||
| 06.02.2022, 17:34 | ||
|
А невозможность использования кириллического имени в качестве доменного имени тоже само по себе. То есть никак не связаны. У ТС кириллическое имя компа. И неважно - есть баг в gethostbyaddr() или нет. У него и так и эдак ничего не будет работать. P.S. Просто уже раз 150 создавались темы с этой ошибкой. Но никто не читает...
1
|
||
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
||
| 06.02.2022, 17:44 | ||
|
и темы бы не было 150 раз........ что значит не читают?-читают но не понимают.........
1
|
||
|
|
|||||||
| 06.02.2022, 17:58 | |||||||
Ну не называйте свои компутеры русскими именами. Если вы программист, а не блондинка.
1
|
|||||||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||
| 06.02.2022, 18:05 | |||
|
1
|
|||
|
|
||
| 06.02.2022, 19:28 | ||
|
Но я все-таки сделал. Что интересно, flask на моем 3.8.2 запустился. То есть проблемы с перекодировкой не ASCII имени компьютера уже нет. Однако, я все-таки процитирую разработчика из приведенной вами же ссылки на баг: Использование имени хоста, не кодируемого в кодовую страницу ANSI, вероятно, вызовет серьезные проблемы (не в Python, а в других приложениях).
1
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||
| 06.02.2022, 19:38 | |||
|
1
|
|||
|
|
||||
| 06.02.2022, 19:56 | ||||
|
То есть если убрать ее - с не ASCII именем все-таки не работает. Как работает gethostbyaddr с кириллическим именем хоста в чистом Си?
1
|
||||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||
| 06.02.2022, 20:04 | |||
|
Картинка из интернета:
1
|
|||
|
|
||
| 06.02.2022, 20:07 | ||
|
Я имею ввиду, что функция должна вернуть доменное имя по ip адресу. Но если имя хоста не соответствует стандарту - она же должна также выдать какую-то ошибку?
Так что объяснять тут нечего. Именно из-за них и все проблемы у начинающих бэкендеров :-) А то что сам windows этот самый постфикс предлагает к имени компа, так это известный баг винды "правая рука не знает что делает левая".
1
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 06.02.2022, 20:21 | ||
|
А проблемы у начинающих бэкендеров не потому, что они при установке не изменили параметр по умолчанию, а потому, что быдлокодеры не знают в какой кодировке системная функция возвращает значение. И, к сожалению, такого софта (который даже в путях русские буквы не переваривает) - вагон и маленькая тележка. Поэтому я тоже избегаю кириллических путей. Но проблема не в юзерах, а в быдлокодерах.
1
|
||
|
|
||
| 06.02.2022, 20:34 | ||
|
вы можете мне сказать каким образом сюда struct hostent * gethostbyaddr(const char *addr, int len, int type); struct hostent { char *h_name; /* official name of host */ может быть записано неоднобайтовое (не соответствующее стандарту DNS )имя хоста? То есть если забыть про Python и его траблы с кодировками?
1
|
||
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 06.02.2022, 20:44 | ||
|
Во вторых, зачем что-то передавать в депрекейтнутую функию, ведь есть getnameinfo()? В третьих, есть unicode-версия getnameinfo() - GetNameInfoW().
1
|
||
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
|
| 06.02.2022, 20:45 | |
|
1
|
|
|
|
|||||
| 06.02.2022, 21:10 | |||||
|
Добавлено через 2 минуты
Потому что если getnameinfo\GetNameInfoW не приводят к таким ошибкам, то мне тоже непонятно почему их не используют. Однако, есть проблема в плане доступности:
1
|
|||||
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,337
|
|
| 06.02.2022, 21:12 | |
|
я на одном из форумов написал тему: что радипоток сдулся? была проблема на одном ресурсе-радио онлайн, так вот они первые ответили, то есть зарегистрировались на форуме и ответили, что всё гут, такие дела))
1
|
|
| 06.02.2022, 21:12 | |
|
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 4: invalid continuation byte Unicodedecodeerror 'utf-8' codec can't decode byte 0xd1 in position 0 invalid continuation byte Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|