Как исправить кодировку в Notepad++

Notepad++ показывает Привет вместо «Привет» или чёрные квадратики вроде xCF? Значит, выбранная кодировка не совпадает с файлом. Обычно помогают два пункта меню, если знать, какой из них нужен.

Работает с текстом и файлами:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Например, выгрузки из Excel и 1С, дампы баз данных, субтитры или код сайтов.

Исправить

  1. Перетащите файл или вставьте текст
  2. Исправление происходит автоматически
  3. Скопируйте или скачайте
или просто перетащите файл сюда
  • Без загрузки. Файлы исправляются прямо в браузере и не покидают ваше устройство.

  • Серверы в ЕС. Mojibuster работает на сервере в стране Финляндия (ЕС), поэтому действует Общий регламент по защите данных (GDPR). Текст GDPR (EUR-Lex, англ.)

Сначала проверяем кодировку

Справа внизу в строке состояния Notepad++ показывает, как сейчас читает файл: UTF-8, UTF-8-BOM или ANSI. На русской Windows ANSI — это Windows-1251. В меню кодировок (Encoding) два вида пунктов, которые часто путают:

  • ANSI, UTF-8, UTF-8-BOM (верх меню): Notepad++ заново читает те же байты и файл не меняет. Это только настройка отображения.
  • Convert to ANSI, Convert to UTF-8 … (низ меню): Notepad++ записывает символы в новой кодировке. После сохранения файл изменится.

Случай 1: Привет вместо «Привет»

Файл сохранён в UTF-8, а Notepad++ читает его как ANSI. Выберите в меню кодировок UTF-8, и буквы сразу станут правильными. Не конвертируйте: «Convert to UTF-8» сохранит мусор Привет как настоящие символы.

Случай 2: xCF или квадратики вместо «П»

Файл сохранён в ANSI (Windows-1251), а прочитан как UTF-8. Сначала выберите ANSI (на русской Windows это Windows-1251), чтобы буквы стали правильными, затем Convert to UTF-8. После сохранения файл будет в UTF-8. Если буквы всё равно неправильные, возможно, файл в KOI8-R или CP866. Эти кодировки есть в подменю кириллицы (Cyrillic).

Случай 3: мусор уже записан в файл

Если при выбранной кодировке UTF-8 Notepad++ всё равно показывает Привет, испорченный текст уже сохранён. Тогда ни один пункт меню не поможет надёжно, особенно если правильные и испорченные строки перемешаны. Перетащите файл в Mojibuster выше: он исправит только испорченные места и покажет каждое изменение.

Файл, в котором ошибка уже сохранена

До

Проверка перевода: Щербаков, Ёжиков, съёмка, жёлтый, Ярославль — всё верно.

После

Проверка перевода: Щербаков, Ёжиков, съёмка, жёлтый, Ярославль — всё верно.

Новые файлы всегда в UTF-8

В Settings → Preferences → New Document задайте для новых файлов кодировку UTF-8. Для файлов, которые будет открывать Excel, лучше UTF-8-BOM, подробнее в статье кракозябры в Excel. Скриптам для Windows PowerShell 5.1 тоже нужен BOM, см. PowerShell. Если нужна только Windows-1251, прочитайте про перекодировку в UTF-8.

Частые вопросы

Чем отличаются UTF-8 и UTF-8-BOM?

Символы хранятся одинаково. UTF-8-BOM дополнительно пишет в начале три невидимых байта, по которым Excel и старые программы узнают UTF-8.

Почему Notepad++ иногда неправильно определяет кодировку?

В файле без BOM нет сведений о кодировке, поэтому Notepad++ её угадывает. В коротких файлах с малым числом русских букв он ошибается чаще.

Можно ли конвертировать сразу несколько файлов?

В Notepad++ только через макросы или плагины. В Mojibuster файлы обрабатываются по одному, каждый за несколько секунд.

Другие инструкции