Autor Zpráva
kazlik
Profil
Zdravím.
Mám problém s češtinou na webu.
V Google Chromu se mi nezobrazí diakritika a v Mozzile se mi zobrazí správně ale stránku mám rozdělenou na includy (header a footer) a na začátku každého includu se nějakým způsobem přidává


Při odstranění
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />

se mi rozhodí i v Mozzile diakritika, ale

zmizí. Měnit textovou sadu se mi nechce, jsem zvyklý na windows-1250.
A v Chromu se mi nezobrazí správně diaktritika ani při UTF a ISO.
je to zde: http://game.wlwonline.cz/login.php
Bubák
Profil
 to je BOM. Nedochází mi, odkud se tam bere, když používáš windows kódování.

Mimo téma, nepoužívej Mozzilu, zkus Mozillu.
kazlik
Profil
Jedině v UTF se mi nezobrazí.
A to  se dává "na začátek includu" hlavičky a patičky.
A bez includů by s webem byla spousta práce :(
Joker
Profil
kazlik:
A to  se dává "na začátek includu" hlavičky a patičky.
Tak si v editoru zrušte vkládání BOM do UTF souborů.

<mimo-téma>
Bubák:
Mimo téma, nepoužívej Mozzilu, zkus Mozillu.
The Mozilla Suite is no longer supported (...) we recommend that you download either Firefox or SeaMonkey.
;-)
</mimo-téma>
kazlik
Profil
Joker:
Tak si v editoru zrušte vkládání BOM do UTF souborů.
Díky. Sjednotil jsem kódování, a už to jede.
ThinkDeep
Profil
Mám podobný probém s češtinou.
Zdrojáky mám v kódování UTF-8, mám tam potřebný tagy
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/php; charset=UTF-8">
<meta charset="UTF-8">
A problém je následující:
s BOM mi to funguje v Opeře, IE, i chromiu, ale nefunguje ve Firefoxu ( čeština je rozhazená, a na záčátku je  )
bez BOM mi to funguje v Opeře ( <3 ), ale v IE, chromiu a Firefoxu je to pořád stejně naprd.

Co teda udělat aby to fungoval ve Firefoxu? ... pokud jsem tam ručně zadal ať to používá UTF-8 tak to jelo v pohodě, ale po jediným refreshi se to opět rozhazelo :( a když jsem se hrabal ve Firebugu, tak jsem tam našel dokonce ISO-8859-2 tuším. Kde dělám chybu?
Na serveru by mělo být defaultně UTF-8
Taurus
Profil
A kódování souboru? Nemyslím meta tag. Lze zjistit např. v PSPadu.
margin
Profil *
<meta http-equiv="Content-Type" content="text/php; charset=UTF-8">
To je nesmysl, nevím, zda to bude fungovat.

Používáš databázi? Pokud ano, jaké má nastavené kódování?
Dej odkaz na problémovou stránku.
ThinkDeep
Profil
margin:
to text/php jsem jen tak zkusil, nemá to žádnej efekt.
databázi, momentálně nepoužívám

tady je ukazka: http://www.stud.fit.vutbr.cz/~xbunop00/test/test.php
melo by to být horní řádek s diakritikou (+ěščř...), je?

Taurus:
kodováni souboru by mělo být UTF-8 s BOM, jak jsem psal výše, viz. http://prntscr.com/ok50r
čehož jsem dosáhl konvertováním v notepad++ z původně ASCII tuším, BOM na začátku souboru: http://prntscr.com/ok56p

Po dalším pátrání jsem zjistil, že i Opera to vidí jako 8859-2 , viz. http://prntscr.com/ok5j5

Nainstaloval jsem teda PSPad a ten mi ku podivu ukazal: http://prntscr.com/ok64l
no když jsem to změnil na UTF-8 a uložil, tak se to uložilo bez BOM, a byl ten stejný problém, který jsem už popisoval, v Opeře to jede, a jinde je rozhazeny kodovaní (IE,Firefox)
Když vrátím BOM tak to jede aspon v IE, Chrome, Opera...

nebo jsi myslel jinak zjistit v PSPadu?
margin
Profil *
Server posílá http hlavičku Content-Type: text/html; charset=iso-8859-2.

Pokud máš povolený .htaccess, tak do něj dej řádek:
AddType 'text/html; charset=UTF-8' php
Doporučuji přidat řádky i pro koncovky htm a html.
Pak by měl server posílat hlavičky s tebou požadovaným kódováním. Zda jde pomocí .htaccess přesvědčit server, aby hlavičku s kódováním neposílal, nevím, nejsem v tom znalý.

Pokud na serveru nemáš povolený .htaccess, pravděpodobně jediná možnost bude na daném serveru používat kódování iso-8859-2.
ThinkDeep
Profil
přístup k .htaccess mám, ale nevím jestli je to zapnuty? jelikož efekt to nemá a když jsem zkusil
Tenhle návod tak to nepřesměroval.
Je změna okamžitá? Změny jsem nechal, a uvidím zítra.

Je jiná možnost jak zjistit jestli je .htaccess zapnut? phpinfo()? nebo tak něco?
Je jiná možnost než přejít na kódování 8859-2?
Čeština a Angličtina se bude zobrazovat stejně (a validně) předpokladám, potom.
ThinkDeep
Profil
Tak nakonec opravdu pomohlo až překódovat všechny soubory s diakritikou do ISO-8859-2

zvláštní, že meta tag v hlavičce na to nemá žádny efekt :) hlavní je, že (v IE,FF,Chrome i Opeře) se to zobrazuje správě.
margin
Profil *
ThinkDeep:
zvláštní, že meta tag v hlavičce na to nemá žádny efekt :)
Protože kódování udávané v http hlavičce má přednost.
ThinkDeep
Profil
margin:
Protože kódování udávané v http hlavičce má přednost.

Ale ctil to jen FF, ....

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: