Problem polega na tym, że kiedy w n++ ustawiam kodowanie "UTF-8 (bez BOM)", to po zapisaniu i zamknięciu takiego pliku oraz ponownym otwarciu, n++ pokazuje, że jest to dokument zakodowany w ANSI(!). Co ciekawe, zauważyłem że kiedy ustawiam "UTF-8 (bez BOM)", to na pasku statusu wyświetla się informacja dot. kodowania:
"Dos\Windows" "ANSI as UTF-8"
Gdzieś wyczytałem, że to oznacza użycie kodowania mieszanego, czyli całość zakodowana w ANSI i tylko znaki narodowe (itp.) są kodowane w UTF-8.
No dobrze, ale przecież ja jako twórca skryptu chciałbym, żeby byl on zakodowany w UTF-8 bez tych trzech znaczków na początku (czyli bez BOM) i troszkę mnie to irytuje, kiedy otwierając ponownie taki plik, edytor gubi informację o UTF-8 i traktuje dokument jako zakodowany w ANSI.
Polubiłem n++ i chciałbym z niego dalej korzystać, dlatego proszę o pomoc.
Używam Notepad++ w wersji 5.0.3 na platformie WinXP.
Znalazłem rozwiązanie!
W n++ zapisując plik z kodowaniem "UTF-8 (bez BOM)" (a faktycznie w "ANSI as UTF-8 bez BOM"), edytor sam sprawdza czy w dokumencie są jakieś znaki diakrytyczne (np. "polskie ogonki"). Jeśli nie znajdzie żadnego, to zapisuje plik w czystym ANSI(!). W momencie, kiedy ponownie otworzymy taki plik i wyedytujemy go, dopisując jakieś "polskie ogonki", to będzie on zakodowany w ANSI, a nie w UTF-8.
Rada:
Zapisując plik w UTF-8 (bez BOM) ZAWSZE zwracaj uwagę, na faktyczne kodowanie, w szczególności, kiedy dopisujesz znaki diakrytyczne.