Autor Zpráva
Paulí
Profil
Dobrý den,
prosím Vás o radu.

Někde v této diskusi jsem si našel (nebo mi ho někdo řekl) kod na načtení stránky js:


function vyberobsah(url)
{
random = Math.floor(Math.random()*999999);
url = "sekce/" + url + "?" + random;
document.getElementById("obsah").innerHTML = "Počkejte prosím, obsah se načítá";

if (window.ActiveXObject)
{
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
httpRequest = new XMLHttpRequest();
}
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {vlozobsah(); } ;
httpRequest.send(null);
}

function vlozobsah()
{
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {document.getElementById("obsah").innerHTML = httpRequest.responseText;}}
}

</script>


A potřeboval bych tedy nějak do toho js zadat že ten soubor se MÁ číst v kodování UTF-8 (nebo prostě jak nastavím tomu čtenému souboru v jakém kodování se má číst).
Jak na to ???
Děkuji moc za odpovědi.
S pozdravem Paulí.
Bubák
Profil
V jakém kódivání je stránky, v takovém kódování se načítá JS. Pokud to chceš změnit, tak také tagu SCRIPT dáš atribut charset.
Paulí
Profil
Myslel jsi to takhle <script charset="UTF-8"> ??? Jestli jo, tak to nefunguje.
peta
Profil
Paulí
kodovani se nastavuje:
HTML - <meta charset>
PHP - header()
JS - req.overrideMimeType (coz Opera a IE nepodporuji)
SQL - SET NAMES
poto je tusim jeste neco pro XML, u script nevim, ze by existoval parametr charset, pripadne je mozne, ze ho opet podporuje jen FF.
vubec, s Operou se domlouva ajaxove kodovani docela obtizne. Mozna by bylo lepsi posilat text s prvnim radkem o kodovani a dekodovat si to javascriptem.

Kazdopadne by bylo dobre rici, v jakem prohlizeci ti to dela. ve FF to obvykle funguje spravne.
Paulí
Profil
peta
Dělá mi to v IE 7. A v Mozille 2.0.0.8 Cz nefungujou háčky a čárky vůbec.
Jinak jsem zkoušel dát do tagu script atribut charset a nepomohlo to.
Pak jsem zkoušel do toho čteného souboru na první řádek vložit <meta http-equiv="content-type" content="text/html; charset=UTF-8"> a nepomohlo to.
Zkoušel jsem změnit kodovaní souboru a nepomohlo to. (v jednom případě kodování se soubor nenačetl a js ohlásil dokonce chybu).
Opravdu nevím co stím. Docela mě i zaráží a na okolí stránky háčky a čárky fungují. Ten soubor při načtení v php funguje normálně, ale když ho načtu v js ajax, tak už je to divné kodování.
djlj
Profil
A ten js soubor musí být v daném kódování samozřejmě taky uložen.
Paulí
Profil
djlj
No jo ale ten soubor FUNGUJE při načtení v PHP, ale NEFUNGUJE v JS AJAX - to znamená že chyba v kodování souboru nebude. Ale jinak jsem s tím zkoušel experimentovat, ale v žádném nastavení kodování to nefungovalo správně.
Bubák
Profil
Můžeš dát odkaz, ať nemusíme jen hádat?
Paulí
Profil
Bubák
To nemůžu. To je tajný projekt. Mohl bych to ukázat pouze člověku u kterýmu můžu důvěřovat a můžu mu to poslat jedině přes jinou komunikaci než odsaď ??
Měl bys zájem o to že bys mě mohl pomoci ??? že bych ti přes icq (nebo jinou komunikaci) poslal adresu a když bys mě dokázal pomoci, tak bys byl napsán v list výrobců. Myslím, že tobě můžu důvěřovat. Ale musíš se připravit na to že je to HOODNĚ složitý web (kvůli administraci) a proto je těžké se orientovat v zdrojáku.
peta
Profil
Paulí
pokud chces poradit, musis dat odkaz na stranku. Jinak sory.
Zatim jsi ani nenapsal, co ti hlasi JS konzola, bez toho nelze ric, v cem mas chybu. - chyba v JS
Ani jaky vystupni soubor mas z PHP - chyba ve vystupnim souboru, kodovani souboru, PHP funkce header. Meta tag ti tu bude houby platny, kdyz ajax umi pracovat jen s textResponse, XMLresponse. Vidis nejake html response?

V tom pripade ti zbyva jedine. Google.com a najdi si funkci ajax projekt a do nej pomalu davej sve veci.
Paulí
Profil
jak tedy mohu nastavit v php header kodovaní na utf-8 ???

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:

0