Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem z kodowaniem UTF-8 (bez BOM) w Notepad++
Daql
post 15.09.2008, 08:19:01
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
Go to the top of the page
+Quote Post
ucho
post 15.09.2008, 09:37:27
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 13:17