Kodowanie znaków - nie działa

REKLAMA:
Jeśli chcesz się nauczyć tworzyć strony internetowe, a nie masz o tym pojęcia wejdź na bezpłatny blog www.VideoWebmaster.pl

Jeśli już potrafisz tworzyć strony internetowe, wejdź na blog z poradami dla średnio-zaawansowanych webmasterów www.PomocnikWebmastera.pl

Zauważyłem, że na niektórych serwerach nie działa HTMLowa konstrukcja: <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">

Pomimo tego nagłówka dokumenty są jakby na siłę kodowane np. w ISO-8859-2 i serwer ignorując ten nagłówek powoduje, że zamiast polskich ogonków są krzaczki. Są dwa rozwiązania tego problemu: albo trzeba zmienić kodowanie polskich znaków na takie, jakie serwer wymusza, albo można dodać w PHP odpowiednią dyrektywę. Tutaj niestety jest problem, gdyż pliki muszą mieć rozszerzenie PHP, aby mogły być przesyłane przez interpreter PHP. Ewentualnie na niektórych serwerach można w pliku .htaccess dodać taką linijkę:
addtype application/x-httpd-php .html .htm

Ta dyrektywa powoduje, że serwer pliki z rozszerzeniem htm i html będzie traktował  tak jakby to były pliki z rozszerzeniem php (będzie je przepuszczał przez interpreter PHP). Następnie w pliku PHP/HTML na samym początku (nie może być wcześniej żadnych znaków, ani spacji ani enterów) należy dać taką wstawkę:

<?
header("Content-Type: text/html; charset=windows-1250");
?>

Ta wstawka powoduje wymuszczenie odpowiedniego kodowania (w tym wypadku windows-1250)

wstecz