Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UTF-8 dziwne znaki pomiędzy nagłowkiem HTTP a HTML
Forum PHP.pl > Forum > PHP
NoiseMc
Site napisany jest z użyciem Smarty i adoDB, wszystkie pliki były początkowo kodowane i pisane w iso-8859-2, ale w trakcie pisania okazało się, że trzeba jeszcze dodać język niemiecki i przekodowałem wszystkie pliki łącznie ze skryptem SQL na UTF-8. Użyłem w tym celu programu Gżegżółka. Polskie znaki wyświetlają się w sposób jak najbardziej prawidłowy. Problem jest w tym, że serwer wysyła do przeglądarki dziwne znaki pomiędzy nagłowkiem HTTP, a kodem HTML, które powodują, że strona wyświetla się tak jakby przed znacznikiem <html> były postawione 2-4 <br> - ki. Wyciągałem kody ASCII tych znaczków używając ord('[znaczek]') i próbowałem wyrzucić je funkcją strtr() przed wyświetleniem ale nie dałem rady blink.gif. O co chodzi czy ktoś spotkał się z tym kiedyś. Słyszałem, że są to jakieś nagłówki UTF. Dodam, że nie jest to wina Gżegżółki ponieważ gdy tworzę zupełnie nowy dokument w Dreamweaverze kodowany jako UTF-8 też mam z tym problem.
Link do jednego ze źle wyświetlających się site - ów:
http://www.lukullus.pl
Fire Fox obcina te znaczki tak więc nie ma problemów, problem pojawia się w IE (proponuję podejrzeć pierwszą linijkę źródła).
bendi
utf-8 BOM (byte-ord make)
DreamWeaver MX 2004 podczas konwersji dokumentu na unicode, pyta sie czy dodac BOM do dokumentu, sprboj przez niego przekodowac pliki.
NoiseMc
Przekonwertowałem pliki ponownie Gżegżółką biggrin.gif z tym, że w opcjach odznaczyłem opcję "wstawiaj sygnaturę BOM" i wszystko jest OK. Prawdopodobnie IE 6 nie radzi sobie z BOM przy UTF-8 i stąd te problemy. FireFox natomiast radzi sobie dobrze i nie pokazywał błędów.

Dziękuję za pomoc i pozdrawiam
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.