Přeskočit na obsah

Windows-1250 na českém webu: kdo za to opravdu může

Pět z osmdesáti webů neposílá UTF-8. Všech pět to ale správně deklaruje — chyba byla v mém nástroji, ne na těch webech.

~800 slov 6 častých otázek ~4 minut čtení Aktualizováno: 13. 8. 2026
Windows-1250 na českém webu: kdo za to opravdu může
Stručná odpověď

Ve vzorku 80 českých domén posílá pět stránku ve windows-1250 místo UTF-8. Všech pět to ale deklaruje správně, a to v hlavičce i v HTML. Žádný web ve vzorku neposílá jiné kódování, než o sobě tvrdí. Problém vzniká až u nástroje, který deklaraci ignoruje.

Windows-1250 na českém webu: kdo za to opravdu může

Nemohly weby. Ve všech 80 zkontrolovaných homepage jsem nenašel jedinou, která by posílala jiné kódování, než sama deklaruje. Problém byl v nástroji, který tu deklaraci ignoroval — a byl to můj.

Vzniklo to při minulém měření, kde mi skript nahlásil, že dvěma zpravodajským webům chybí v HTML hlavní text. Nechyběl — servery posílají stránku ve windows-1250 a já ji dekódoval jako UTF-8. Text se rozsypal na otazníky a porovnání selhalo.

ZjištěníPočet z 80
posílá jiné kódování, než deklaruje0
posílá windows-1250 místo UTF-85
deklaruje kódování v hlavičce HTTP79
deklaruje kódování značkou meta v HTML80
hlavička a značka meta si odporují0
má značku meta až za 1024 bajty3

Jak poznám problém za minutu

Stáhněte si hlavičky vlastního webu:

curl -sSI https://vasweb.cz/ | grep -i content-type

Podle výsledku nastanou tři situace:

Co uvidíteCo to znamená
content-type: text/html; charset=utf-8 a stejná hodnota i v metav pořádku
v hlavičce charset chybí, ve zdroji stránky značka meta jefunguje, ale spoléháte na jedno místo — doplňte hlavičku
hlavička říká jedno a značka meta druhéchyba — typicky pozůstatek migrace, opravit

Ve vzorku měla rozpor nula domén, takže ta třetí situace je vzácná. Vzniká hlavně při stěhování webu nebo výměně šablony, kdy se změní jedno místo a druhé zůstane.

Když web provozujete

  • Deklarujte na obou místech hlavička i značka meta. Když jedno vypadne při úpravě, druhé zachrání situaci.
  • Značku meta dejte hned na začátek specifikace počítá s prvními 1024 bajty dokumentu, ne až za blokem skriptů.
  • windows-1250 samo o sobě nebylo v měření chybou když ho správně deklarujete, korektní klient si poradí. Při plánované migraci je ale UTF-8 dnes jednodušší volba.
  • Po každé migraci zkontrolujte znovu změna serveru nebo šablony je nejčastější příležitost, jak se deklarace rozejde s obsahem.

Proč problém nevznikl na webech

Kódování se deklaruje na dvou místech a mají pořadí:

  1. Hlavička Content-Type, kterou vrací server: text/html; charset=utf-8. Je bezpečné řídit se nejdřív jí.
  2. Značka meta v HTML: <meta charset="utf-8">. Použije se, když hlavička charset neuvádí. Specifikace zároveň žádá, aby byla brzy v dokumentu — typicky v prvních 1024 bajtech.

Ve vzorku má hlavičku 79 domén z 80, značku meta má všech 80. Ta jedna doména bez hlavičky má značku na 368. bajtu, takže žádný čtenář nezůstane bez informace.

Tři weby mají značku meta až za hranicí 1024 bajtů — na pozicích 1153, 2225 a 2225. Všechny tři zároveň posílají charset i v hlavičce. Medián pozice napříč vzorkem je 101 bajtů; drtivá většina to má hned nahoře.

Co tohle měření neříká

  • Nic o celém českém webu. Vzorek není náhodný: 33 médií je ruční seznam, 47 e-shopů je z jedné platformy. Je to obrázek téhle osmdesátky.
  • Nic o podstránkách. Měřil jsem jen homepage; u velkých webů běží různé sekce často na různých systémech.
  • Nic o chování AI robotů. Netestoval jsem, co s kódováním udělá GPTBot nebo kterýkoli jiný. Vím jen, co udělá špatně napsaný nástroj — protože jsem ho napsal.
  • Nezachytí jemné případy. Všech 80 homepage má českou diakritiku, takže hrubé chybné dekódování bylo na čem poznat. Jiné typy problémů tahle kontrola neodhalí.

Jeden odečet, 13. srpna 2026.

Tři chyby okolo kódování

Dekódovat natvrdo UTF-8

Projde to na většině webů a selže na menšině. Právě proto se to hledá špatně — nevypadá to jako chyba čtení, ale jako chybějící obsah.

Číst značku meta a ignorovat hlavičku

Bezpečné pořadí je opačné. Když si obě místa odporují, čtete to špatně.

Dát meta charset až za blok skriptů

Specifikace počítá s prvními 1024 bajty. Tři weby ve vzorku to mají dál; zároveň posílají charset i v hlavičce.

Shrnutí

Pět z osmdesáti českých homepage posílá stránku ve windows-1250 a všech pět to správně deklaruje. Rozpor mezi deklarací a obsahem jsem nenašel ani jednou.

Kdo provozuje web, má minutovou kontrolu výš. Kdo píše nástroj, který stahuje cizí stránky, má v něm respektovat deklarované kódování — jinak si vyrobí nálezy, které vypadají jako chyby cizích webů. Přesně to se povedlo mně.

Sniper Design
Pomoc s implementací

Nechcete to řešit interně? Postavíme to za vás.

V Sniper Design děláme kompletní AI SEO — strategii, audit, implementaci i obsah. Zlatý partner Upgates i Shoptetu, přes 600 e‑shopů na CZ trhu. Na AI vyhledávání připravujeme návrhy homepage, obsahovou strukturu i audity klientských webů.

  • 600+ e‑shopů
  • Vlastní e‑shop MEGA DETAIL
FAQČasté otázky

Časté otázky, které k tématu nejčastěji padají

Kolik českých webů neposílá UTF-8?
Ve vzorku 80 domén (33 médií, 47 e-shopů) k 13. srpnu 2026 pět. Všech pět posílá windows-1250 a všech pět to správně deklaruje v hlavičce Content-Type i ve značce meta charset.
Vadí windows-1250 AI robotům?
To jsem neměřil a netvrdím to. Vím jen, že nástroj, který deklaraci ignoruje a dekóduje natvrdo UTF-8, dostane z takové stránky nesmysl — a může to vypadat, že na ní chybí obsah.
Kde má být kódování deklarované?
Na dvou místech: v hlavičce Content-Type, kterou vrací server, a ve značce meta charset v HTML. Bezpečné je řídit se nejdřív hlavičkou a značku meta použít, když hlavička charset neuvádí. Specifikace zároveň žádá, aby značka meta byla brzy v dokumentu, typicky v prvních 1024 bajtech.
Jak zjistím, co posílá můj web?
Příkazem curl -sSI https://vasweb.cz/ a v odpovědi najděte řádek content-type. Když v něm charset chybí, podívejte se na začátek HTML, jestli tam je značka meta charset.
Je windows-1250 chyba, kterou mám opravit?
Z tohohle měření to netvrdím. Pokud web kódování správně deklaruje, korektní klient si poradí. UTF-8 je dnes bezpečnější volba, ale přechod na něj je zásah do celého webu a data pro tvrzení, že to něco zlepší, nemám.
Co to znamená pro nástroje, které čtou weby strojově?
Respektovat deklaraci: pro jednoduchý čteč HTML je rozumné jít od hlavičky přes značku meta a teprve pak hádat. Napevno zadané UTF-8 selže jen u části webů, což se špatně odhaluje — vypadá to jako chybějící obsah, ne jako chyba čtení.
Čtěte dál

Související články

Všechny články v blogu Zpět na úvod