Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [kodowanie] Kłopotliwe UTF-8 z BOM
Forum PHP.pl > Forum > Przedszkole
l0ud
Witam! Aktualnie męczę się z kodowaniem skryptu i szablonów z UTF. Zauważyłem, że przy zapisie plików skryptu do UTF z BOM występują problemy z sesją - nagłówki zostają wysłane wcześniej, mimo, że pliki zaczynają się od razu na <?php . Przy zapisaniu skryptu bez BOM problem nie występuje, ale polskie znaki nie są wyświetlane poprawnie. Nie wysyłam jeszcze żadnego <head> a więc też deklaracji kodowania - czy po jej dodaniu wszystko będzie w porządku? Bo przecież z BOM polskie znaki niby są? Edytor to Notepad++.

Jak rozwiązać ten problem? Czy wystarczy dodać tylko deklaracje kodowania? Jak Wy kodujecie swoje skrypty w UTF?

Pozdrawiam smile.gif
netmare
nie bardzo rozumiem po co BOM...
header('Content-Type: text/html; charset=UTF-8'); nie załatwia sprawy??

Edit: Znaczy jak bom to chyba utf-16 winksmiley.jpg
Edit2: Po przemyśleniu tytułu tematu biggrin.gif To ta definicja w header powinna Ci wystarczyć, a plik zapisuj bez bom, bo bom zawsze jest umieszczany na początku pliku więc jeszcze przed <?php winksmiley.jpg
Sabistik
Nie musi być BOM żeby był poprawny UTF z polskimi znakami. Zmień edytor, lub sprawdź czy w jego opcjach nie możesz wyłączyć jego dodawanie.
l0ud
Oczywiście w opcjach edytora jest możliwość zapisu bez BOM i to właśnie niej używałem. Problem w tym, że wtedy kodowanie było niepoprawne. Podejrzewam jednak, że header załatwi sprawę.

A właśnie, ostatnie pytanie: Czy wystarczy ustawienie kodowania w sekcji <head>, czy muszę wysłać jego deklarację już w nagłówku?

Pozdrawiam
Kreton
Priorytet na nagłówek wysłany przez serwer, jeżeli go nie ma to przeglądarka sama wybiera sobie kodowanie elbo sugeruje sie tym podanym w znaczniku meta. Jeżeli dostałeś meta z serwera meta zostanie zingnorowane.

UTF-8 nie musi zawierać BOM na początku pliku. UTF-16 albo UTF-32 owszem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.