← Все вопросы
Как убрать кракозябры в файле / поменять кодировку?
13
Открываю свой .py или .txt, а вместо русских букв «Ð¿Ñ€Ð¸Ð²ÐµÑ‚» или вопросики. В терминале тоже иногда абракадабра вместо текста. Как поправить кодировку и убрать кракозябры?
3 ответа
26
✓ Принятый ответ — помог автору
Почти всегда причина одна: файл сохранён в одной кодировке, а открывается в другой. Стандарт сейчас — UTF-8, и всё должно быть в нём.
Что делать:
- В редакторе пересохрани файл как UTF-8. В VS Code — клик по кодировке в правом нижнем углу строки состояния → «Save with Encoding» → UTF-8. В Notepad++ — меню «Кодировки».
- Если читаешь файл в Python и сыпется UnicodeDecodeError — явно укажи кодировку при открытии:
with open('data.txt', encoding='utf-8') as f:
text = f.read()
(а если файл реально в другой кодировке, например старый русский текст, то encoding='cp1251').
3. Кракозябры в консоли Windows — отдельная беда: выполни chcp 65001, чтобы переключить cmd на UTF-8.
Ильяс Аминов encoding='utf-8' при open решило UnicodeDecodeError, спасибо! · 12 месяцев назад
Антон Михайлов chcp 65001 — то что искал для cmd 👍 · 12 месяцев назад
10
Пересохрани файл в UTF-8 в редакторе. В 90% случаев проблема в этом.
8
При чтении файла добавь encoding='utf-8' в open(). Без явной кодировки питон берёт системную, а она на Windows бывает не UTF-8.
Ваш ответ
Войдите, чтобы ответить на вопрос.