Pokažená znaková sada na webu

Pokažená znaková sada na webu
« kdy: 20. 03. 2019, 07:42:46 »
Ahojte, před nějakou dobou jsem spíchl lehkou webovou vizitku www.dalmatinsteam.cz a vše fungovalo korektně, nicméně nedávno jsem se na web podíval a nějak se musela pokazit znaková sada či co a web nezobrazuje správně diakritiku. Změnil jsem v hlavičce meta tag znakové sady z Windows 1250 na utf8 s tím že by to mohlo pomoct a nic. Zvládnete, prosím, někdo poradit? Děkuji.


Re:Pokažená znaková sada na webu
« Odpověď #1 kdy: 20. 03. 2019, 08:36:09 »
Ta stranka je v 1250, takze potrebujes dat do html:

Kód: [Vybrat]
<meta http-equiv="Content-Type" content="text/html;charset=windows-1250"/>
To prinuti prehliadac pouzit 1250, namiesto utf-8, ktora je deklarovana webserverom v response header:

Kód: [Vybrat]
Content-Type: text/html; charset=UTF-8
Najlepsie by bolo vsak urobit uz stranku priamo v utf-8.

Re:Pokažená znaková sada na webu
« Odpověď #2 kdy: 20. 03. 2019, 08:49:30 »
Server odesílá v hlavičce informaci, že znaková sada je UTF-8.

Kód: [Vybrat]
Content-Type: text/html; charset=UTF-8
Původně to bylo zamýšlené tak, že server bude tuto informaci přebírat z elementu meta s atributem http-equiv, ale servery to většinou ignorují (musely by parsovat HTML). Pokud nemůžete změnit konfiguraci serveru, máte jedinou možnost – uložit tu HTML stránku na serveru v kódování UTF-8. Ostatně použití kódování UTF-8 bych vám doporučil stejně, můžete pak snadno používat libovolné znaky z Unicode.

Kódování souboru musíte změnit tak, že v nějakém editoru otevřete ten soubor v kódování Windows-1250 a znovu ho uložíte v kódování UTF-8. V souboru pak uveďte i element

Kód: [Vybrat]
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
Přednost má hlavička posílaná serverem, ale kdyby si ten soubor někdo uložil, ať to má správně (i když UTF-8 by dnes měl být default). Prohlížeč by sice tu hlavičku měl při ukládání změnit na základě toho, co dostal od serveru, ale myslím, že to dnes prohlížeče nedělají.

czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Re:Pokažená znaková sada na webu
« Odpověď #3 kdy: 20. 03. 2019, 08:50:09 »
nebo prekonvertuj ten HTML dokument do UTF-8

Kód: [Vybrat]
iconv -f WINDOWS-1250 -t UTF-8 index-win1250.html > index-utf8.html
« Poslední změna: 20. 03. 2019, 08:53:26 od czipis »

Re:Pokažená znaková sada na webu
« Odpověď #4 kdy: 20. 03. 2019, 08:54:44 »
Pánové, díky. Chybu, pravděpodobně, způsobila změna textového editoru. V PSPadu stačilo jen v menu Formát zvolit UTF-8 a uložit.