Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Byte-Order Mark found in UTF-8 File
Forum PHP.pl > Forum > Przedszkole
johny_mnemonic
Witam,

Problem kodowania znaków był poruszany wielokrotnie na wielu forach, ale niestety nigdzie nie znalazłem rozwiązania, które by mi pomogło.

Posiadam stronę w 3 językach - PL, DE, EN.
Strona napisana w systemie szablonów SMARTY.
Kodowanie znaków jest w całym serwisie UTF-8:

CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />


Kodowanie w bazie danych MySQL wygląda nastepująco:

System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf-8_general_ci


Wszystkie tabele w bazie ma ją metodę porównywania napisów ustawioną na utf-8_general_ci

Walidator W3C pokazuje mi zero błędów i jedno ostrzeżenie

Byte-Order Mark found in UTF-8 File.
The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.


Nie martwiłbym się tym, gdyby nie to, że strona nie zawsze wyświetla prawidłowo polskie znaki.
U mnie jest ok, ale dostaję sygnały, że po wejściu na stronę sa krzaki zamiast polskich znaków, a po doświeżeniu jest już ok.
Jak mogę rozwiązać problem?

dzięki za wszelką pomoc
pozdrawiam
Fifi209
Koduj bez BOM... np. notepad++ ma taką funkcję zapisu.
johny_mnemonic
Używam notepada++ i prawie wszystkie pliki (tzn. *.tpl i *.php) mam w formacie utf-8 bez BOM, przy niektórych mam ANSI, ale w żaden sposób nie mogę tego zmienić. Daję "konwertuj na UTF-8 bez BOM, zapisuje plik i po ponownym otwarciu dalej jest ANSI.
Fifi209
A może to pliki na, których wykonujesz jakieś operacje np. w php (zapis) ew. ustawione tylko do odczytu.
johny_mnemonic
Atrybuty raczej są prawidłowo ustawione.
Jest skrypt kupiony na allegro, trochę modyfikowany (i poprawiany) przeze mnie.
Niestety na początku nie sprawdzałem strony walidatorem i nie wiem czy na początku nie było z tym problemów.
Sprawdzałem inne strony oparte na tym skrypcie i na niektórych jest ten problem na innych nie (pomijam fakt istnienia innych błędów).
Odpuściłbym sobie, ale martwi mnie fakt, kiedy klient wchodzi na stronę, a tam dziwna krzaczki.
aqun
krok do przodu (nie wiem czy rozwiąże problem, ale mnie kiedyś pomogło)
zanim zapiszesz plik wstaw w komentarzu polskie znaki, np:
plik.tpl
{* żśćź *}
po czym zapisz w potrzebnym kodowaniu, np UTF-8.
Miałem podobny problem, jak w pliku nie było polskich znaków mimo że zapisywałem w iso-8859-2
po otwarciu było kodowanie w ANSI.
Wstawienie polskich znaków (czasem nie ma gdzie, wtedy wystarczy że są w komentarzu) rozwiązuje ten
problem, ale co do krzaczków na stronie to może być więcej przyczyn, napisz czy coś to zmieniło.
Ja używam edytora FOX Edit, jest za friko i można łatwo ustawiać kodowanie.
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.