Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/64: Рейтинг темы: голосов - 64, средняя оценка - 4.53
6 / 6 / 0
Регистрация: 04.02.2022
Сообщений: 15

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 5: invalid continuation byte

04.02.2022, 20:35. Показов 15118. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я чайник. Новичок на Пайтон, уже изучаю веб-приложения, помогите пожалуйста!
Я формирую файл с таким содержанием:

Python
1
2
3
4
5
6
7
8
9
from flask import Flask
 
app = Flask(__name__)
 
@app.route('/')
def hello() -> str:
    return 'Hello world from Flask!'
 
app.run()
Выводит ошибку, и в cmd, и в PyCharm и в итоге одинаковые ошибки:


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
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2022, 20:35
Ответы с готовыми решениями:

'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Работаю с библиотеками PIL и telebot В чем может быть проблема ? Ошибка - 'utf-8' codec can't decode byte 0xff in position 0:...

UnicodeDecodeError: 'utf-8' codec can't decode byte
Задача: в файле product.csv с товарами вида №;Наименование;Магазин;Стоимость, вывести информацию, упорядоченную по стоимости Что должно...

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed
Привет всем! При компиляции скрипта в ехе вышла такая ошибка,пытался найти символ-не вышло. Подскажите,пожалуйста ,в чем может быть...

42
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,335
06.02.2022, 15:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от avgoor Посмотреть сообщение
Разработчики фреймворка должны это учесть, или юзер должен писать велосипед на костылях?
конечно да и для многих других случаев да
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 15:31
Ципихович Эндрю, что "да"?
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,335
06.02.2022, 15:33
вот
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Разработчики фреймворка должны это учесть
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 15:55
Цитата Сообщение от avgoor Посмотреть сообщение
Разработчики фреймворка должны это учесть, или юзер должен писать велосипед на костылях?
Ни то, ни другое.
разработчики фреймворка не могут ничего учесть, так как доменные имена - не их епархия (разве что расшифровать ошибку в более понятную).
А юзер просто должен знать спецификацию. И если его машина ей не отвечает - это исключительно его проблема.
Спецификации для того и существуют, чтобы не было "кто в лес, кто по грибы".
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 16:53
Цитата Сообщение от Garry Galler Посмотреть сообщение
Ни то, ни другое.
...
Спецификации для того и существуют, чтобы не было "кто в лес, кто по грибы".
Тем не менее это подтвержденный баг хоть и не фляска, а питона. Что там про спецификации?
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 17:34
Цитата Сообщение от avgoor Посмотреть сообщение
Тем не менее это подтвержденный баг хоть и не фляска, а питона.
Этот баг сам по себе.
А невозможность использования кириллического имени в качестве доменного имени тоже само по себе.

То есть никак не связаны.
У ТС кириллическое имя компа. И неважно - есть баг в gethostbyaddr() или нет. У него и так и эдак ничего не будет работать.

P.S. Просто уже раз 150 создавались темы с этой ошибкой. Но никто не читает...
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,335
06.02.2022, 17:44
Цитата Сообщение от Garry Galler Посмотреть сообщение
Просто уже раз 150 создавались темы с этой ошибкой
так может тому кто писал фреймворк пора победить её, не?
и темы бы не было 150 раз........
что значит не читают?-читают но не понимают.........
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 17:58
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
так может тому кто писал фреймворк пора победить её, не?
Ошибка в функции gethostbyaddr() давно исправлена (с Python 3.8).
Code
1
2
3
New changeset f7bc44170b4bdd16c46b4b6acf7673ffc24dfb19 by Miss Islington (bot) in branch '3.8':
bpo-26227: Fixes decoding of host names on Windows from ANSI instead of UTF-8 (GH-25510)
https://github.com/python/cpython/commit/f7bc44170b4bdd16c46b4b6acf7673ffc24dfb19
И, в любом случае, она имеет лишь косвенное отношения в проблеме ТС.
Ну не называйте свои компутеры русскими именами. Если вы программист, а не блондинка.
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 18:05
Цитата Сообщение от Garry Galler Посмотреть сообщение
И, в любом случае, она имеет лишь косвенное отношения в проблеме ТС.
Она имеет прямое отношение:
Цитата Сообщение от Dinaid Посмотреть сообщение
File "C:\Users\user\AppData\Local\Programs\Py thon\Python38\lib\so cket.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
А вот каким боком вообще отностится имя хоста к возможности запуска сервера? Нужно лишь начать слушать на определенном ip-шнике. То, что софт падает при попытке ресолвить валидное с т.з. системы имя - однозначно баг.
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 19:28
Цитата Сообщение от avgoor Посмотреть сообщение
валидное с т.з. системы имя
Уж не знаю какое оно там валидное, но у меня ОС при попытке переназвать комп по-русски сказала мне нечто в духе что я дурак и не надо так делать и в общем ССЗБ.
Но я все-таки сделал. Что интересно, flask на моем 3.8.2 запустился. То есть проблемы с перекодировкой не ASCII имени компьютера уже нет.
Однако, я все-таки процитирую разработчика из приведенной вами же ссылки на баг: Использование имени хоста, не кодируемого в кодовую страницу ANSI, вероятно, вызовет серьезные проблемы (не в Python, а в других приложениях).
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 19:38
Цитата Сообщение от Garry Galler Посмотреть сообщение
но у меня ОС при попытке переназвать комп по-русски
Какая ОС?
Цитата Сообщение от Garry Galler Посмотреть сообщение
Однако, я все-таки процитирую разработчика из приведенной вами же ссылки на баг: Использование имени хоста, не кодируемого в кодовую страницу ANSI, вероятно, вызовет серьезные проблемы (не в Python, а в других приложениях).
Это нелепая отмазка, т.к. проблема не в не-ASCII символах, как таковых, а в том, что не utf8 строка интерпретируется как utf8 строка. В этом суть этого бага.
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 19:56
Цитата Сообщение от avgoor Посмотреть сообщение
Какая ОС?
Windows 7.

Цитата Сообщение от Garry Galler Посмотреть сообщение
Что интересно, flask на моем 3.8.2 запустился.
... только потому что у меня была в файле host запись с нормальным именем хоста.
То есть если убрать ее - с не ASCII именем все-таки не работает.

Цитата Сообщение от avgoor Посмотреть сообщение
а в том, что не utf8 строка интерпретируется как utf8 строка. В этом суть этого бага.
Баг по мнению разработчиков был исправлен. Вы же сами читали issue.

Как работает gethostbyaddr с кириллическим именем хоста в чистом Си?
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 20:04
Цитата Сообщение от Garry Galler Посмотреть сообщение
Windows 7.
Тогда как вы объясните, что при установке win-7 имя компьютера по умолчанию - это имя пользователя с постфиксом "-ПК"?
Картинка из интернета:

Цитата Сообщение от Garry Galler Посмотреть сообщение
Баг по мнению разработчиков был исправлен. Вы же сами читали issue.
Это не значит, что у ТС пропатченная версия питона, и что "он сам дурак, надо компьютеры нормально называть".
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 20:07
Я имею ввиду, что функция должна вернуть доменное имя по ip адресу. Но если имя хоста не соответствует стандарту - она же должна также выдать какую-то ошибку?

Цитата Сообщение от avgoor Посмотреть сообщение
Тогда как вы объясните, что при установке win-7 имя компьютера по умолчанию - это имя пользователя с постфиксом "-ПК"?
avgoor, Так делают (оставляют это постфикс) в магазинах неграмотные установщики windows.
Так что объяснять тут нечего.
Именно из-за них и все проблемы у начинающих бэкендеров :-)

А то что сам windows этот самый постфикс предлагает к имени компа, так это известный баг винды "правая рука не знает что делает левая".
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 20:21
Цитата Сообщение от Garry Galler Посмотреть сообщение
Так делают в магазинах неграмотные установщики windows.
Так что объяснять тут нечего.
Именно из-за них и все проблемы у начинающих бэкендеров :-)
Плевать на установщиков. Главное, Микрософт считает, что имя с кириллицей вполне себе годное.
А проблемы у начинающих бэкендеров не потому, что они при установке не изменили параметр по умолчанию, а потому, что быдлокодеры не знают в какой кодировке системная функция возвращает значение. И, к сожалению, такого софта (который даже в путях русские буквы не переваривает) - вагон и маленькая тележка. Поэтому я тоже избегаю кириллических путей. Но проблема не в юзерах, а в быдлокодерах.
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 20:34
Цитата Сообщение от avgoor Посмотреть сообщение
Главное, Микрософт считает, что имя с кириллицей вполне себе годное.
Мы отошли от темы. microsoft и ее воззрения это отдельная тема.

вы можете мне сказать каким образом сюда
struct hostent * gethostbyaddr(const char *addr, int len, int type);

struct hostent {
char *h_name; /* official name of host */

может быть записано неоднобайтовое (не соответствующее стандарту DNS )имя хоста?
То есть если забыть про Python и его траблы с кодировками?
1
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
06.02.2022, 20:44
Цитата Сообщение от Garry Galler Посмотреть сообщение
вы можете мне сказать каким образом сюда
Во первых, почему об этом должен думать я, а не авторы фреймворка?
Во вторых, зачем что-то передавать в депрекейтнутую функию, ведь есть getnameinfo()?
В третьих, есть unicode-версия getnameinfo() - GetNameInfoW().
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,335
06.02.2022, 20:45
Цитата Сообщение от avgoor Посмотреть сообщение
Во первых, почему об этом должен думать я, а не авторы фреймворка?
ну да и ТС и я Не хотим думать об этом
1
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.02.2022, 21:10
Добавлено через 2 минуты
Цитата Сообщение от avgoor Посмотреть сообщение
Во первых, почему об этом должен думать я, а не авторы фреймворка
Если честно, мне на это пока нечего ответить.
Потому что если getnameinfo\GetNameInfoW не приводят к таким ошибкам, то мне тоже непонятно почему их не используют.


Однако, есть проблема в плане доступности:
Minimum supported client Windows 8.1, Windows Vista


Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну да и ТС и я Не хотим думать об этом
У меня точно такая же проблема. Win 7, python 3.8.5 попытка запустить локальный сервер. Имя пользователя на латиннице, все папки тоже. Через блокнот пробовал перекодировать все файлы проекта сначала в utf-8, потом все остальные кодировки перепробовал. Не помогло. Переустановил винду, установил пайтон и джанго заново. Тоже не помогло(ошибка та же) Я новичек и делаю это первый раз. Если кто знает как решить, опишите пожалуйста по подробней(без этого не могу двинутся дальше) –
Но если бы человек знал бы про стандарт доменных имен, то это избавило бы его и от недоработок (а они будут всегда) авторов фреймворка и от кучи вышеперечисленных бесполезных действий....
1
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,335
06.02.2022, 21:12
я на одном из форумов написал тему: что радипоток сдулся? была проблема на одном ресурсе-радио онлайн, так вот они первые ответили, то есть зарегистрировались на форуме и ответили, что всё гут, такие дела))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2022, 21:12

UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)
здравствуйте питон 2.7 на строку if &quot;с точкой&quot; in comment: ругается UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in...

'charmap' codec can't decode byte 0x98 in position 5679:character maps is undefind
Добрый день. Есть json файл в виде Я делаю попытку прочитать файл и вывести его на экран: import json f =...

SyntaxError: 'charmap' codec can't decode byte 0x98 in position 359: character maps to <undefined>
Здравствуйте. Подскажите, пожалуйста, в чем заключается ошибка и как исправить: Traceback (most recent call last): File...

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 4: invalid continuation byte
Создаю бота для телеграмма на Python с Aiogram. Нужно подключить pyqiwip2p для оплат. Но постоянна выскакивает ошибка якобы не та кодировка...

Unicodedecodeerror 'utf-8' codec can't decode byte 0xd1 in position 0 invalid continuation byte
Всем привет, что делать если при открытии exe файла (я так понял, он написан на питоне, писал его не я) вылезает ошибка unicodedecodeerror...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru