Najpierw sprawdź kodowanie
Na dole po prawej stronie paska stanu Notepad++ pokazuje, jak aktualnie czyta plik, np. UTF-8, UTF-8-BOM albo ANSI. W menu Encoding są dwa rodzaje pozycji, które łatwo pomylić:
- ANSI, UTF-8, UTF-8-BOM (góra menu): Notepad++ czyta istniejące bajty inaczej, ale nie zmienia pliku – to tylko ustawienie wyświetlania.
- Convert to ANSI, Convert to UTF-8 … (dół menu): Notepad++ zapisuje znaki w nowym kodowaniu. Zapis zmienia plik.
Przypadek 1: Ä… zamiast ą
Plik jest zapisany w UTF-8, ale Notepad++ czyta go jako ANSI. Wybierz Encoding → UTF-8 i znaki od razu wyglądają poprawnie. Nie konwertuj: „Convert to UTF-8” zapisałoby krzaki Ä… jako prawdziwe znaki.
Przypadek 2: xB3 lub pola zamiast ł
Plik jest zapisany w ANSI (Windows-1250), ale czytany jako UTF-8. Najpierw wybierz Encoding → Character sets → Central European → Windows-1250, aby znaki wyglądały poprawnie, potem Convert to UTF-8. Po zapisie plik jest w UTF-8. Starsze pliki mogą być w ISO 8859-2 – ta sama lista zawiera też to kodowanie.
Przypadek 3: krzaki są naprawdę w pliku
Jeśli Notepad++ nadal pokazuje Ä… przy wybranym UTF-8, zepsuty tekst został już zapisany. Wtedy żadna pozycja menu nie pomoże niezawodnie – zwłaszcza gdy poprawne i zepsute wiersze są wymieszane albo tekst jest zakodowany podwójnie. Przeciągnij plik do Mojibuster powyżej: naprawi tylko zepsute miejsca i pokaże każdą zmianę.
Przed
Tłumaczenie sprawdzone: żółć, gęślą, jaźń, Kraków – wszystko poprawnie.
Po
Tłumaczenie sprawdzone: żółć, gęślą, jaźń, Kraków – wszystko poprawnie.
Nowe pliki zawsze w UTF-8
W Settings → Preferences → New Document ustaw kodowanie nowych plików na UTF-8. Dla plików, które ma otworzyć Excel, lepszy jest UTF-8-BOM – więcej w artykule o Excelu i krzakach w CSV. Skrypty dla Windows PowerShell 5.1 też potrzebują BOM, zobacz PowerShell.
Najczęstsze pytania
Czym różni się UTF-8 od UTF-8-BOM?
Oba zapisują znaki tak samo. UTF-8-BOM dopisuje na początku trzy niewidoczne bajty, po których Excel i starsze programy rozpoznają UTF-8.
Dlaczego Notepad++ czasem źle rozpoznaje kodowanie?
Pliki bez BOM nie zawierają informacji o kodowaniu, więc Notepad++ musi zgadywać. Przy krótkich plikach z niewieloma polskimi literami myli się częściej.
Czy mogę zamienić kilka plików naraz?
W Notepad++ tylko makrami lub wtyczkami. W Mojibuster jeden plik po drugim – każdy gotowy w kilka sekund.