![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 15.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
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. Ten post edytował Daql 15.09.2008, 08:23:06 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
To pewnie będzie dla ciebie szokujące - ale bez BOM i bez użycia znaków spoza ANSI to ANSI = UTF8, co do bita. BOM jest właśnie po to by nie było problemów z rozpoznaniem kodowania jakie autor miał na myśli - to że BOM powoduje różne inne problemy to inna sprawa.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 13:17 |