Autor | Zpráva | ||
---|---|---|---|
Marcus Flintus Profil |
#1 · Zasláno: 8. 11. 2009, 13:25:56
Ahoj,
píšu stránky v PSPadu v kódování UTF-8. Mám zapnutou detekci CP, vždy se detekuje správně (mám v každém souboru zakomentovanou diakritickou sadu) V hlavičce mám charset takto: <meta http-equiv="Content-Type" content="text/html; charset=uft-8" /> Přesto mi ale kódování nefunguje. např.: VĂtejte v AdministraÄŤnĂm systĂ©mu! Nechápu to. Kde můžu dělat chybu? |
||
Miloš Profil |
#2 · Zasláno: 8. 11. 2009, 13:42:56
Může být, že server posílá blbě znakovou sadu v http hlavičce.
Nebo to dělá na localu? Byla by živá ukázka? |
||
Davex Profil |
#3 · Zasláno: 8. 11. 2009, 13:56:20
Marcus Flintus:
Pokud běží webserver na Apache, tak do souboru .htaccess přidej nastavení kódování češtiny pro soubory *.php, *.htm a *.html: <FilesMatch "\.(php|html?)$"> AddDefaultCharset utf-8 </FilesMatch> |
||
Marcus Flintus Profil |
#4 · Zasláno: 8. 11. 2009, 14:00:34
Tak jsem na to po dalším bádání přišel.
Problém byl v tom, že prohlížeč správně nerozpoznal kódování ze zaslané hlavičky, která vypadala takto: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Administrační systém</title> <link rel="stylesheet" href="css/screen.css" type="text/css" /> </head> Co je na ní špatně, nevím. Současná: <!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=utf-8" /> <title>Administrační systém</title> <link rel="stylesheet" href="css/screen.css" type="text/css" /> </head> už funguje. Proč to tak ale je? |
||
Davex Profil |
#5 · Zasláno: 8. 11. 2009, 16:18:38
Tato úprava nemá na rozpoznání kódování žádný vliv. V jakém prohlížeči se problém objevil?
|
||
Marcus Flintus Profil |
#6 · Zasláno: 9. 11. 2009, 19:23:52
Firefox 3.0.15
ted si uvědomuju že před úpravou byla vlastně meta až za title. Tak je možné že by prohlížeč špatně určil kódování (podle title) a následující charset už ignoroval? |
||
Bubák Profil |
#7 · Zasláno: 10. 11. 2009, 00:56:10
Marcus Flintus:
„ted si uvědomuju že před úpravou byla vlastně meta až za title.“ Neznám prohlížeč, kterému by tohle vadilo. |
||
_es Profil |
#8 · Zasláno: 10. 11. 2009, 01:11:34
Bubák:
„Neznám prohlížeč, kterému by tohle vadilo.“ Ako by mal prehliadač inak poznať, v akom kódovaní je obsah značky title? Hlavne keď tam sú znaky s diakritikou, ktoré sú v každom kódovaní zakódované inak. |
||
DoubleThink Profil * |
#9 · Zasláno: 10. 11. 2009, 02:29:08 · Upravil/a: DoubleThink
_es:
„Ako by mal prehliadač inak poznať, v akom kódovaní je obsah značky title?“ Buďto vlastní analýzou, nebo počká se zobrazením title tu desetinku sekundy až bude k dispozici i meta tag s kódováním. Pokud vím, žádnému současnému browseru nedělají pozice meta tagů sebemenší problémy. |
||
Bubák Profil |
#10 · Zasláno: 10. 11. 2009, 02:53:01
_es:
„Ako by mal prehliadač inak poznať, v akom kódovaní je obsah značky title?“ Asi před rokem jsem dělal testy různých prohlížečů s uměle vytvořeným souborem, kde za značkou <title> byl obří komentář, teprve za ním meta tag charset. Některé prohlížeče zobrazily obsah TITLE ihned a po načtení meta tagu charset jej zobtazily správně. Jiné prohlížeče zobrazily obsah TITLE až po načtení meta tagu charset. Už si nepamatuji, jak se tyto prohlížeče chovaly, pokud meta tag charset úplně chyběl, zda obsah TITLE zobrazily po skončení head, , na začátku body, nebo po načtení stránky. Poznámky jsem si neudělal, protože všechny testované prohlížeče zobrazily obsah TITLE správně a běžně bývá meta tag charset nejpozději ihned za TITLE, takže data o použitém charsetu přijdou ve stejném, přinejhorším v následujícím paketu. |
||
_es Profil |
#11 · Zasláno: 10. 11. 2009, 03:09:06
DoubleThink, Bubák
Tak či tak je vtedy obsah značky title do toho meta tagu v nedefinovanom kódovaní. Nemôžu nastať problémy, ak je navyše definovanie kódovania, možno iné, ešte aj v http hlavičke? |
||
Davex Profil |
#12 · Zasláno: 10. 11. 2009, 19:56:16
Kódování definované v HTTP hlavičce má vždy přednost před meta http-equiv, takže přehození pořadí meta s title by nemělo vliv.
Pokud je title před meta, tak se jen za určitých speciálních podmínek zobrazí prázdná stránka v IE6. Další problémy mi nejsou známy. |
||
Časová prodleva: 14 let
|
0