Autor Zpráva
quatzael
Profil
Vím, že už s tím tady někdo byl, ale nenašel jsem žádný uspokojivý řešení..
V javascriptu mi nefunguje diakritika (jsou tam ty kosočtverečky s otazníkem), v tomto případě ani v samotným HTML ne.

Našel by se někdo, kdo by byl schopen popsat nějaký univerzální řešení, při kterým by fungoval javascript, html, xml, atd..

kód je tady:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">

<head>
    
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-language" content="cs" />
<title>Česká diakritika</title>

<script type="text/javascript">
<!-- 
function check()
{
window.alert("&egrave;eština");
document.write("&igrave;š&egrave;&egrave;&oslash;žýáíé");
}   
-->    
</script>
    
</head>

<body>
<form  method="post" accept-charset="UTF-8" id="aform">
<select name="vyber" class="required-item" id="formselect" onChange="check();"><option value="0" selected="selected">Vyberte</option><option value="1">Jedna</option><option value="2">Dva</option><option value="3">T&oslash;i</option></select>
</form>     
</body>
</html>


a pokud možno, aby to bylo založeno na utf-8..

Díky moc.
Chamurappi
Profil
Reaguji na quatzaela:
Musíš mít stránku i uloženou v UTF-8.
První <meta> v uvedeném kódu by prohlížeči měla říct, že používáš UTF-8 — v tom žádná větší věda není. Akorát tedy server může v HTTP hlavičce Content-Type posílat jiné kódování a to má pak přednost (hlavičky si můžeš prohlédnout třeba přes Web-Sniffer).

při kterým by fungoval javascript, html, xml, atd..
JavaScript se vždy čte ve stejném kódování jako stránka, pokud není vložený externě. Načítá-li se externí skript, rozhoduje atribut charset u <script>u, nebo opět parametr charset v hlavičce Content-Type.
XML nemá smysl řešit, to nepoužíváš, tvůj kód berou prohlížeče jako HTML.
peta
Profil
Pokud se neco chova odlisne nez bezna stranka, je dobre dat odkaz na stranku.
Zkopiroval jsem tentyz kod a cestina mi funguje (žýáíé i eština). Az na ty paznaty typu &igrave;, ktere tam nemaji, co delat nebo jsou pravdepodobne v jinem kodovani nez je utf.
http://axpsu.fpf.slu.cz/~web/x/js-diakr.htm
quatzael
Profil
Reaguji na Chamurappiho:

Z toho Web-Snifferu mi vyjelo toto:
GET / HTTP/1.1[CRLF]
Connection: close[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no-cache[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]

Tak jsem to vyřešil tak, že jsem dal do <meta> charset="UTF-8" a do externího scriptu <script> charset="windows-1250". Běží to!

Ale bude to fungovat správně na všech počítačích v Česku (myslím, alespoň většině)??

A dá se to i vyřešit jinak? Nemám třeba gigaserveru, na kterým to mám, napsat ať mi tam nastaví jediný charset utf-8??

Dík za radu!


Reaguji na peta:

odkaz na stránku tady nemůžu dávat, protože to má být komerčně využívaná doména a mít co nejvyšší stupeň serióznosti. Jestli budu mít, ale víc takových problémů, tak si asi založím nějakou další, jenom na testování..

v tom alertu mělo být napsaný čeština, a je tam ten &igrave;eština

a potom mi vyjíždí tohle:
ìšèèøžýáíé

Každopádně jak jsem psal v předchozím, problém jsem už vyřešil. Ale přesto dík..
Chamurappi
Profil
Reaguji na quatzaela:
Z toho Web-Snifferu mi vyjelo toto
To jsou hlavičky dotazu, ty posílá prohlížeč (v tomto případě tedy spíš Web-Sniffer), když si říká o stránku. Hlavičky odpovědi jsou pod tím.

bude to fungovat správně na všech počítačích v Česku
Mělo by. Pokud jsi to napsal správně, pojede to všude.

Nemám třeba gigaserveru, na kterým to mám, napsat ať mi tam nastaví jediný charset utf-8??
Ne. Nastavení serveru (co se týče hlavičky Content-Type) můžeš ovlivnit ze své strany.
quatzael
Profil
Reaguji na Chamurappiho:

Tak pod tím bylo toto:

Status: HTTP/1.1 200 OK
Date: Mon, 14 May 2012 10:56:29 GMT
Server: Apache
X-Powered-By: PHP/5.3.3-7+squeeze3
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 665
Connection: close
Content-Type: text/html


Ale každopádně jede to jak má, takže supr.
Díky.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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