← Все вопросы

Как убрать кракозябры в файле / поменять кодировку?

Задан 12 месяцев назад911 просмотров3 ответа
13

Открываю свой .py или .txt, а вместо русских букв «Ð¿Ñ€Ð¸Ð²ÐµÑ‚» или вопросики. В терминале тоже иногда абракадабра вместо текста. Как поправить кодировку и убрать кракозябры?

3 ответа

26
✓ Принятый ответ — помог автору

Почти всегда причина одна: файл сохранён в одной кодировке, а открывается в другой. Стандарт сейчас — UTF-8, и всё должно быть в нём.

Что делать:

  1. В редакторе пересохрани файл как UTF-8. В VS Code — клик по кодировке в правом нижнем углу строки состояния → «Save with Encoding» → UTF-8. В Notepad++ — меню «Кодировки».
  2. Если читаешь файл в 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.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект