Autor Zpráva
Johny_G
Profil
Mám problémy s diakritikou při stahování přes XMLHttpRequest. Ač mají volající web, volaný web i skript samotný naprosto totožné kódování, prostě se to cestou pokazí. Pro Firefox mám workaround, ale Opera to prostě nechápe.

Pro FF to řeším takto:

xmlhttp.open("GET", nejaka_adresa, true);
xmlhttp.overrideMimeType('text/html; charset=windows-1250');

Víte co s tím?

EDIT:
Důležitý dodatek: je to User Script, nikoli skript na stránce, čili prokazatelně má stejné kódování leda soubor scriptu - jak je kódován on sám, to opravdu nevím a ani nevím, jak to určit.
peta
Profil
Johny_G
--> JS konzola
IE - dole ve status baru zluty vykricnik
FF - nastroje - chybova konzola
O - nastroje - javascript - konzola

--> Google.com
overrideMimeType javascript xmlhttp
A zjistis, ze ta funkce v nejakem prohlizeci nepracuje.
Cili, kodovani si nastavis PHP scriptem (cz2.php.net/header), pripadne javascriptem. Jiste kodovani je UTF8, meta tag HEAD jakpsatweb.cz - HTML - tag: META
Jinak muzes zkusit opet google a nejake priklady nebo
http://www.volny.cz/peter.mlich/www.htm#msub13
Ale tam nerucim, ze uz mam problem s kodovanim vyreseny i pro operu.
Vim, ze jsem s tim mel tez desne problemy.
Johny_G
Profil
Ten web není můj, můžu provádět změny jen na straně klienta, jinak už by to dávno bylo v UTF-8.
peta
Profil
Johny_G
"můžu provádět změny jen na straně klienta"
Tak v tom pripade te ten web nemusi vzrusovat a jej neres.
A nebo si to nacti do PHP na tvem webu, zmen kodovani a zobraz pres request na sve strance
cz.php.net/file
file(URL) , pokud nemaji zablokovane vzdalene sdileni
A nebo si to prekoduj scriptem, coz neni takovy problem.
Johny_G
Profil
Po měsící jsem si na tohle fórum znovu vzpomněl, tak to zase probudím z mrtvých.
Překódování na vlastním webu mám napsané, ale Opera nedovoluje Ajaxu tahat z jiných serverů, jde to jen ve FF. Překódovat skriptem to taky nejde, protože ve výsledku mají všechny zmršené znaky tentýž kód.
vinnetou
Profil *
nevim jak v php, ale mne v ASP pomohlo na casti se zmrsenym textem toto: Server.HTMLEncode(zmrsenyText).
Johny_G
Profil
Nemá tento příkaz za úkol escapovat HTML tagy? Já to tedy vyzkoušel, ale nepřineslo to ani vedlejší efekt v podobě překódování.
peta
Profil
Johny_G
php header
si to vytahni php do souboru, nastav kodovani a posli to svemu JS ve zpravnem kodovani.
pripadne si muzes udelat prekodovaci funkci nebo vyuzit php iconv (linux iconv)
Johny_G
Profil
Jak jsem již psal - PHP bych musel umístit na jiný server, což bere Opera u AJAXu jako bezpečnostní problém.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0