Szolgáltatótól függő magyar ékezetes karakterekkel kapcsolatos megjelenítési probléma
Van egy olyan gondom, hogy csináltam egy weblapot Dreamweaverben és feltettem az ügyfelem Externetes tárhelyére, de kalapos ő és ű jelent meg annak ellenére, hogy a jóöreg "charset=iso-8859-2"-t haszáltam a meta tagben. Korábbi weblapjaimnál saját szerveremen sohasem volt gondom vele. Elkezdtem próbálgatni az UTF-t és IE-ben meg is oldódott, de a FireFoxban "zagyvaság" jelent meg az ékezetek helyett.
Erre mást próbáltam, csináltam egy pucér php doksit (de próbáltam html-lel is) iso-8859-2 kódolással és feltettem arra a szerverre, ahol ált. a saját weblapjaimat tárolom (http://www.coaxial.hu/pages/proba/karakter_teszt.php) és ott minden frankó volt és ugyanezt a fájlt feltettem az ügyfelem Externet-es tárhelyére (http://www.regre.hu/pages/proba/karakter_teszt.php) és ott meg kalaposan jelenik meg az ő és ű.
Létezik, hogy a tárhelyet szolgáltató szerver így bekavarjon? És ha igen, akkor van-e valami bombabiztos kód php illetve html fájl esetén, amivel kierőszakolom tőle, hogy mégis rendesen jelenítse meg a karaktereket?
Egyébként az említett karakter_teszt.php doksi header része imígyen néz ki:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Untitled Document</title>
</head>
■ Erre mást próbáltam, csináltam egy pucér php doksit (de próbáltam html-lel is) iso-8859-2 kódolással és feltettem arra a szerverre, ahol ált. a saját weblapjaimat tárolom (http://www.coaxial.hu/pages/proba/karakter_teszt.php) és ott minden frankó volt és ugyanezt a fájlt feltettem az ügyfelem Externet-es tárhelyére (http://www.regre.hu/pages/proba/karakter_teszt.php) és ott meg kalaposan jelenik meg az ő és ű.
Létezik, hogy a tárhelyet szolgáltató szerver így bekavarjon? És ha igen, akkor van-e valami bombabiztos kód php illetve html fájl esetén, amivel kierőszakolom tőle, hogy mégis rendesen jelenítse meg a karaktereket?
Egyébként az említett karakter_teszt.php doksi header része imígyen néz ki:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Untitled Document</title>
</head>
header vs meta
AddDefaultCharset bekavarhat
Hogy a kérdésedre is válaszoljak, igen, bekavarhat a szerver is. Pl. apache esetén be lehet állítani az AddDefaultCharset direktívát valamilyen karakterkészletre, aminek az az eredménye, hogy a webszerver minden válasz előtt kiad egy, a fentihez hasonló "Content-type ..." fejécet, amit a böngészők általában "erősebbnek" tartanak, mint a html dokumentum fejlécében szereplő "charset" deklarációt. Emiatt megpróbálják a webszerver által mondott karakterkészletszerint megjeleníteni az oldalt.
Megoldás lehet ilyen esetekben a fenti fejléc elküldése, bár jobb lenne az AddDefaultCharset-et kiszedni az apache konfigurációjából.
?
php_value default_charset "iso-8859-2"
</ifModule>