Celý problém je v tom, jakým způsobem je browser informován
o kódování WWW stránky, kterou zobrazuje. Tato informace může být
uvedena na více místech.
1) Pří stahování WWW stránky spolu browser a WWW server komunikuji přes
HTTP protokol. Pomocí něho může server informovat browser o použité
znakové sadě v zasílaných datech (zasílané WWW stránce).
2) Kódování může být specifikováno v samotné WWW stránce, tj.
přímo ve zdrojovém HTML kódu dané stránky pomocí tagu <meta
http-equiv=„Content-Type“ … />.
Pokud je informace o znakové sadě poskytnuta oběma způsoby, browser
upřednostňuje 1), tj. zobrazí WWW stránku ve znakové sadě, kterou mu
sdělil WWW server a informaci obsaženou přímo ve zdrojovém dokumentu dané
stránky ignoruje.
Pokud není ale informace 1) poskytnuta (nedochází ke komunikaci s WWW
serverem), např. v případě prohlížení stránky uložené na lokálním
disku, řídí se browser podle informace 2). Ač jsem to sám nezkoušel, tato
situace nastane zřejmě i při tisku WWW stránky, tj. tiskárna získá
informaci o znakové sadě ze zdrojového dokumentu stránky.
Verze článků pro tisk mají ve zdrojovém kódu chybně uvedenu znakovou
sadu, tj. místo správné windows-1250 je uvedena UTF-8. Tato informace je
při online prohlížení stránek ignorována a browser zobrazí stránku
korektně (WWW server sděluje browseru, že stránka je v kódování
windows-1250). Avšak v případě offline prohlížení (tisku) je obsah
stránky zobrazen (vytisknut) v UTF-8, což je samozřejmě špatně.
Ačkoliv neznám redakční systém použitý na tomto webu, po chvilce
googlení jsem zjisitl, že by chyba mohla být ve špatném nastavení tagu
<meta http-equiv=„Content-Type“ … /> v šablonách generovaných
WWW stránek. Tj. misto je zřejmě v šabloně uvedeno .
Informaci jsem získal googlením výrazu:
kódování tisk site:http://www.phprs.cz/forum/