p°ehled chybn²ch zobrazenφ
ChybnΘ zobrazenφ: ISO 8859-2 - Windows-1250 - ASCII - Mac - Dos - KameniΦtφ - Unicode - URL k≤dovßnφ - Shßnφm poznatky
Sna╛il jsem se shromß╛dit ukßzky neΦast∞j╣φch chybn²ch zobrazenφ poΦφtaΦovΘ Φe╣tiny. Tento p°ehled mß v²znam obecn², ne pouze pro autory webov²ch strßnek, t°eba╛e pro n∞ cφlen∞.
Mß to slou╛it jako pom∙cka pro zji╣t∞nφ, co je s Φe╣tinou v konkrΘtnφm p°φpad∞ v nepo°ßdku. Samoz°ejm∞ to nenφ ·plnΘ. N∞kdy se vyplatφ prozkoumat rovnou tabulky k≤dovßnφ.
Jako ukßzkov² text se nabφzel tradiΦnφ "╛lu╗ouΦk² k∙≥", ale s ko≥mi nemßm ╛ßdnΘ zku╣enosti, tak jsem si sestavil text z vodßckΘho prost°edφ, obsahujφcφ v╣echny ΦeskΘ diakritizovanΘ znaky: "Lo∩ Φe°φ k²lem t∙≥ obzvlß╣╗ v Gr≤nskΘ ·╛in∞." Doufßm, ╛e to nebude takov² nezvyk.
ISO-8859-2 je standardnφ k≤dovßnφ oznaΦovanΘ tΘ╛ jako Latin 2. V Microsoft Exploreru je oznaΦovßno jako "st°edoevropskΘ (ISO)". Je u╛φvßno zejmΘna na Unixu a Linuxu, ale tΘ╛ v mnoha Windows - aplikacφch. Jeho podpora je velmi roz╣φ°enß.
Chcete-li, aby se ISO texty na Internetu sprßvn∞ zobrazovaly napoprvΘ, p°idejte do hlaviΦky HTML souboru meta tag, kter² prohlφ╛eΦi sd∞lφ, ╛e je to v ISO:
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
Nechcete-li pou╛φvat meta deklaraci a m∙╛ete-li ovliv≥ovat http hlaviΦky (zejmΘna programßto°i), pak p°idejte tuto http hlaviΦku:
Content-type: text/html; charset=iso-8859-2
NejΦast∞j╣φ chybnΘ zobrazenφ, postihuje znaky ╣, ╛ a ╗, ⌐, « a ½. Podle toho to v╛dycky poznßte. ╪e╣enφm je p°idßnφ meta tagu nebo p°ek≤dovßnφ do windows.
Velmi ΦastΘ chybnΘ zobrazenφ, kterΘ nastßvß hlavn∞ v Netscapu 3. Latin 1 je znakovß sada zßpadnφ Evropy, kterß neznß hßΦkovanß pφsmena. V╣imn∞te si, ╛e ΦßrkovanΘ znaky se zachovaly, hßΦkovanΘ ne. Tato chyba se poznßvß podle malΘ jedniΦky, kterΘ se zobrazuje namφsto ╣. Podle p°e╣krtnutΘho o namφsto ° je z°ejmΘ, ╛e se n∞jak²m zp∙sobem jednß o Latin 1 (zßpadoevropskΘ).
Stejn²m zp∙sobem se iso Φesk² text zobrazuje na terminßlech, kterΘ oΦekßvajφ zßpadoevropsk² font (klasicky lep╣φ unixovΘ terminßly, ty hor╣φ um∞jφ jenom ASCII).
Dos k≤dovßnφ se u╛ moc nepou╛φvß, ale p°ekvapiv∞ Φasto se zobrazuje tento rozsypan² Φaj, pokud si n∞kdo v prohlφ╛eΦi IE zapne Automatick² v²b∞r k≤du.
Zde chybuje autor strßnek, kter² mß na svΘm poΦφtaΦi nainstalovßn n∞jak² neobvykl² font v ΦeskΘ verzi. Takov² font v lep╣φm p°φpad∞ na klientovi nenφ (pak se to na╣t∞stφ zobrazφ Timesem), v hor╣φm p°φpad∞ je font na klientovi pouze v anglickΘ verzi, kterß neumφ zobrazovat korektn∞ ΦeskΘ znaky. Jedin²mi bezpeΦn²mi Φesk²mi fonty jsou Times, Arial a Courier.
Unicode sklßdß divnß pφsmenka ze dvou znak∙. Tak╛e Φekß za ka╛d²m divn²m pφsmenem je╣t∞ jedno pφsmeno, se kter²m chce utvo°it dvojici. To druhΘ pφsmenko nezobrazφ. Proto to vypadß, jako kdyby Unicode n∞kterß pφsmenka po╛φralo. Jakmile se tedy zobrazuje mΘn∞ pφsmen, bude chyba v nastavenφ unicode, a╗ u╛ je p∙vodnφ text k≤dovßn jakkoliv.
Windows-1250 je pro platformu Windows zßkladnφ st°edoevropskΘ k≤dovßnφ. Na jin²ch operaΦnφch systΘmech se p°φli╣ nepou╛φvß. V souΦasnosti (2001) je tφmto k≤dem psßno asi 70% ΦeskΘho netu. Internet Explorer naz²vß tento k≤d st°edoevropsk² (bez p°φvlastk∙), co╛ je pon∞kud nefΘr p°φstup.
Meta deklarace windowsovskΘho k≤dovßnφ vypadß takto:
<meta http-equiv="Content-type" content="text/html; charset=windows-1250">
Velmi Φastß chyba, zp∙sobenß nejΦast∞ji p°enosem text∙ mezi platformami. Op∞t jsou posti╛eny pouze znaky ╣, ╛ a ╗.
Velmi Φastß chyba zobrazenφ zp∙sobenß absencφ meta deklarace. Prohlφ╛eΦ se domnφvß, ╛e je text v zßpadoevropsk²ch jazycφch (latin 1). Jsou posti╛eny znaky ∞, Φ, °, ∩ ╗, ∙ a ≥. Obzvlß╣╗ dob°e se tato chyba rozpoznß podle toho p°e╣krtnutΘho o namφsto ° a zachovßnφm ╣ a ╛.
N∞kterΘ anglickΘ HTML editory b∞╛n∞ p°evßd∞jφ text tak, ╛e vypadß jako by m∞l tuto chybu. Ve skuteΦnosti to pod∞lßvajφ, proto╛e hßΦkovanΘ znaky nahrazujφ entitami (&n∞co;). Pak nenφ pomoci, leda to (nejΦast∞ji ruΦn∞) opravit.
P°ekvapiv∞ Φastß chyba p°i zapnutΘm automatickΘm v²b∞ru k≤du.
Jedna ukßzka z mnoha r∙zn²ch pohled∙, kterΘ se nask²tajφ, kdy╛ se autor designu sna╛φ pou╛φt neΦesk² font.
N∞kterΘ fonty pßchajφ toto: anglickΘ znaky zformßtujφ, ΦeskΘ nahrazujφ znaky z jin²ch font∙. ╚ast² ·kaz p°i pou╛φvßnφ systΘmov²ch jmen font∙ (nap°. fantasy, cursive apod.).
V²jimeΦnß chyba. TotΘ╛ co u Iso jako Unicode.
Pod pojmem ASCII se v Φesk²ch zemφch chßpe verze textu bez hßΦk∙ a Φßrek. To snad nemusφm rozvßd∞t. P°ipomenu jen, ╛e omezovßnφ se na toto "k≤dovßnφ" je dnes u╛ omezovßnφm zbyteΦn²m, kterΘ pouze omezuje Φtenß°e. Fakt ale je, ╛e nenφ co zkazit.
K≤dovßnφ Φe╣tiny pou╛φvanΘ na Macintoshφch se v Φesk²ch internetov²ch luzφch a hßjφch objevuje velmi z°φdka. Uvßdφm ho spφ╣e pro dopln∞nφ. Pokud na takovou strßnku narazφte, nedß se s tφm moc d∞lat, proto╛e prohlφ╛eΦe Internet Explorer neumo╛≥ujφ p°ek≤dovßnφ. Ale Mozilla t°eba ano.
WindowsovskΘ k≤dovßnφ pro DOS, vφcemΘn∞ historickΘ k≤dovßnφ. Je pot°eba dßt
tam zßpis
text/html; charset=CP852
Historicky prvnφ elegantnφ k≤d prakticky zmizel z povrchu sv∞ta. ObΦas se v n∞m vyskytujφ n∞kterΘ starΘ texty. V²hodou je, ╛e pokud se kamenickΘ k≤dovßnφ zobrazφ v Latin 1 nebo v PC Latin 1 (DOS), je to ΦßsteΦn∞ ΦitelnΘ.
Mezinßrodnφ k≤dovßnφ, kterΘ obsahuje v╣echny znaky v╣ech nßrodnφch abeced pou╛φvß pro k≤dovßnφ divn²ch (neanglick²ch) znak∙ dvojice bajt∙ = dvou pφsmen. Tak╛e kdy╛ se text nßhodou zobrazφ v jinΘm k≤du, je z toho naprost² maglajs. V╣imn∞te si, ╛e ka╛d² diakritizovan² znak kreslφ jako znaky dva.
Toto k≤dovßnφ se tΘ╛ oznaΦuje jako multibite (vφcebitovΘ) a multilingual (vφcejazyΦnΘ), proto╛e je obzvlß╣t∞ vhodnΘ pro psanφ vφcejazyΦn²ch text∙. V HTML se musφ deklarovat takto:
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
Pro p°edßvßnφ formulß°ov²ch dat HTTP protokolem bylo vyvinuto URL k≤dovßnφ, co╛ nenφ ani tak k≤dovßnφ, jako spφ╣e transportnφ metoda. (Text je ve skuteΦnosti v tom k≤du, ve kterΘm byla strßnka s formulß°em.) N∞kdy se ale nßsledkem n∞jakΘ chyby jejφ v²stup zapomene dek≤dovat a u╛ivatel se potkßvß se zm∞tφ procent. (Mezera je nahrazena pluskem. V nov∞j╣φ verzi URL k≤dovßnφ je mezera %2* (kde * je n∞jakß dal╣φ ╣estnßctkovß cifra, nejΦast∞ji nula)):
Pokud jsou tam namφsto procent rovnφtka (a zachovßny mezery), tak se jednß o tzv. quoted-printable k≤dovßnφ standardu MIME. ObΦas se s nφm lze setkat v po╣t∞ (chyba je pak u odesφlatele, kter² mß ╣patn∞ nastaven² formßt odesφlanΘ po╣ty).
Pokud znßte n∞jakΘ dal╣φ problematickΘ zobrazenφ Φe╣tiny souvisejφcφ n∞jak s webem, po╣lete mi prosφm jeho popis.
P°edchozφ: ╚e╣tina na webu Dal╣φ:
Tabulky k≤dovßnφ
Vizte tΘ╛: Formßtovacφ chyby,
Meta tagy,
Rozdφly k≤dovßnφ Iso a Win
o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek