Mám jeden maličký problém, v poslednej dobe som bol nútený použiť IE (testovanie kódovania), a narazil som na taký problém s nastavením kódovania, defaultne je tam windows-1250, lenže je to tam vždy aj keď prídem na stránku ktorá je v inom kódovaní a prirodzene to špatne zobrazí diakritiku. Mám tam nastavený aj "Automatický výber", ale to nepomáha. Vždy to musím prepnúť ručne. Ako donútim tento browser, aby sa zobrazenie (kodovanie) automaticky prispôsobilo podľa kodovania stránky? Je toto chyba len u mňa, alebo sa bežne vyskytuje, má s tým niekto skúsenosti?
Problém sa prejavil aj u niekoľkých mojich kolegov.
Bežne síce používam FF, a tam to nie je problém, lenže čo z toho, keď ešte mnohí užívatelia používajú IE, a tým sa samozrejme po príchode na moje stránky zobrazí špatné kódovanie, ak sú moje stránky v inom kódovaní ako w-1250. Rád si prečítam akékoľvek rozumné a vecné rady k tomuto problému.
Posledné testy ukázali, že mi to robí na hostingu u over.cz, takže sa obraciam s danou otázkou aj na nich.
Nie je mi totiž celkom jasné, že browser sa chová rôzne na rôznych stránkach.
IE6 a jeho muchy
Kódovanie sa môže poslať aj v http hlavičke odpovede. V takom prípade by malo byť kódovanie nastavené v html ignorované (ale IE to tak nerobí). Takže skús skontrolovať, či tie stránky neposielajú aj kódovanie v http hlavičke (a či nie je náhodou iné, ako kódovanie v html). Zvyčajne s tým majú problém free webhostingy (v http hlavičke býva nastavených aj viac kódovaní).
Práve som otestoval jednu vec, mám CMS e107 v kodovaní utf8 na dvoch rôznych hostingoch, CMS sú nastavené úplne rovnako, na jednom hostingu (freeserver.sk) mi IE reaguje správne, na druhom (over.cz) je to špatne, a zrejme s týmto problémom súvisiac, sa mi špatne zobrazujú názvy dní a mesiacov na tom českom hostingu (je to v cp1250 napriek tomu že setlocale a aj celý CMS je korektne nastavený na utf8)
Vyskúšaj zmeniť utf8 na utf-8.
Ten server patrí medzi tie zle nastavené. Má nastavené "AddDefaultCharset utf8", takže sa do http hlavičky vždy pridá aj kódovanie utf8 (a ak ten dokument používa kódovanie iné, môže to pomýliť niektoré prehliadače). Tiež je tam nastavené aj "DefaultLanguage cs". To by mohlo spôsobovať ten problém so znakovou sadou v IE.
Možno by pomohlo dať na začiatok súboru:
Toto je hlavička toho dokumentu:
// chrono: tie dátumy sú v windows-1250
Ten server patrí medzi tie zle nastavené. Má nastavené "AddDefaultCharset utf8", takže sa do http hlavičky vždy pridá aj kódovanie utf8 (a ak ten dokument používa kódovanie iné, môže to pomýliť niektoré prehliadače). Tiež je tam nastavené aj "DefaultLanguage cs". To by mohlo spôsobovať ten problém so znakovou sadou v IE.
Možno by pomohlo dať na začiatok súboru:
Kód: Vybrať všetko
<?xml version="1.0" encoding="UTF-8"?>Kód: Vybrať všetko
Cache-Control: must-revalidate
Connection: close
Date: Fri, 30 Mar 2007 13:58:51 GMT
Server: Apache/2.0.54
Content-Language: cs
Content-Type: text/html; charset=utf8
Content-Type: text/html; charset=utf8
Client-Date: Fri, 30 Mar 2007 13:58:54 GMT
Client-Peer: 81.0.237.33:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
Content-Style-Type: text/css
Link: </eee/e107_themes/mt_rag/style.css>; /="/"; media="all"; rel="stylesheet"; type="text/css"
Link: </eee/e107_files/e107.css>; /="/"; rel="stylesheet"; type="text/css"
Title: VENDULKIN WEB: Novinky
X-Powered-By: ModLayout/4.1