Как да поправите кодировката в Notepad++

Notepad++ показва Здравей вместо „Здравей“ или малки черни квадратчета като xC7? Тогава избраната кодировка не съвпада с файла. Обикновено две команди от менюто решават проблема, стига да знаете коя от тях ви трябва.

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

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

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

Поправяне

  1. Пуснете файл или поставете текст
  2. Поправката е автоматична
  3. Копирайте или изтеглете
или просто пуснете файл тук

Първо проверете кодировката

В долния десен ъгъл на лентата за състоянието 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: xC7 или квадратчета вместо „З“

Файлът е записан в ANSI (Windows-1251), но е прочетен като UTF-8. Първо изберете ANSI (в българска Windows това е Windows-1251), за да се покажат буквите правилно, после Convert to UTF-8. След запис файлът е в UTF-8. Ако буквите още са грешни, файлът може да е в друга кирилична кодировка; те са в подменюто за кирилица (Cyrillic).

Случай 3: боклукът е записан във файла

Ако Notepad++ показва Здравей и при избран UTF-8, повреденият текст вече е записан. Тогава нито една команда не помага надеждно, особено когато правилните и повредените редове са смесени. Пуснете файла в 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 е един файл след друг и всеки отнема секунди.

Други ръководства