przez platekr » 22 wrzeÅ›nia 2006, o 20:10
Faktycznie można popaść we frustrację, ale właśnie taka sytuacja pozwoli rozwiązać problem, którego w innym wypadku by się nie doświadczyło. A problem ten nie leży po stronie Pajączka.
Jesli w dokumencie nie ma zadeklarowanego kodowania (np. przez sekcjÄ™ META), to program zapisuje znaki narodowe w kodowaniu domyÅ›lnym z ustawieÅ„. Tak też zachowaÅ‚ siÄ™ w tym wypadku, zapisujÄ…c znaki narodowe w kodowaniu ISO-8859-2 co widać na zaÅ‚Ä…czonym w pierwszej wiadomoÅ›ci wÄ…tku przykÅ‚adzie (echo "¶Ä‡Ä½Å¼Ä™Å‚óń";). Wyprowadzone znaki sÄ… w ISO-8859-2, czyli jak najbardziej poprawnie.
Problem dotyczy więc nie Pajączka, ale strony tworzonej w kodzie PHP, która nie posiada deklaracji kodowania znaków, więc przeglądarka wyświetla kod ISO-8859-2 używając tablicy kodowej WinCP-1250.
Jeśli dokument byłby niepoprawnie zakodowany, np. w Windows CP-1250 przy poprawnym nagłówku ISO-8859-2, to efekt byłby następujący: echo "šćęłńóśżź".
RozwiÄ…zanie:
a) do wyprowadzanych w przeglądarce stron dodać deklarację kodowania znaków dla tekstu strony w sekcji META dokumentu generowanego przez PHP.
b) przełączyć w przeglądarce kodowanie znaków na ISO-8859-2, bo teraz jest za pewne CP-1250
c) przejść na CP-1250 (nie polecam)
Zatem podsumowując, nic nie trzeba robić z dokumentami serwisu lecz po prostu dostosować swój kod PHP do wyświetlania znaków w kodowaniu ISO-8859-2 dodając nagłówek deklaracji kodowania w META.