Prepínanie stránok (AJAX)

Programovacie jazyky, rady, poradňa...
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Prepínanie stránok (AJAX)

Príspevok od používateľa Michaelo »

Zdravím,

mám jednu funkciu cez ktorú sa prepínajú stránky bez refreshu.
Ale má to jeden problém. Nefunguje tam kódovanie (teda funguje, ale iba default UTF-8) a nedokážem ho nastaviť (nejde to aj keď ho tam nastavím).
Na webe je nastavené WIN-1250.

Potrebujem to upraviť tak, aby som tam mohol dať: $locale['charset'] a aby to fungovalo s rôznym kódovaním podľa toho aké locale používa používateľ.

Vďaka.

Kód: Vybrať všetko

// Admin switch site (AJAX)
 ?>

   <script type="text/javascript">
         <!--    
             function switch_site(test){

	document.getElementById("eins").innerHTML = waitText;;
	            
                 //erstellen des requests
                 var req = null;

	

                try{
                    req = new XMLHttpRequest(); // Mozilla, Opera und Co
                }
                catch (ms){
                    try{
                        req = new ActiveXObject("Msxml2.XMLHTTP"); // ie5
                    } 
                    catch (nonms){
                        try{
                            req = new ActiveXObject("Microsoft.XMLHTTP"); // ie6
                        } 
                        catch (failed){
                            req = null;
                        }
                    }  
                }
	
                if (req == null)
                      alert("Error creating request object!");
                  
                  //anfrage erstellen (GET, url ist localhost,
                  //request ist asynchron      
                  req.open("GET", test, true);

                //Beim abschliessen des request wird diese Funktion ausgef&#167092;
                req.onreadystatechange = function(){            
                    switch(req.readyState) {
                            case 4:
                            if(req.status!=200) {
                                alert("Fehler:"+req.status); 
                            }else{    
                                //alert(req.responseText);
                                //schreibe die antwort in den div container mit der id content 
                                document.getElementById('eins').innerHTML = req.responseText;
                            }
                            break;
                    
                            default:
                                return false;
                            break;     
                        }
                    };
  
                  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=win-1250;");
                req.send(null);
            }
         //-->
        </script>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Prepínanie stránok (AJAX)

Príspevok od používateľa audiotrack »

si si istý, že ho tam nastavuješ? To, že ho pridáš do headeru ktorý sa posiela smerom k tomu skriptu ešte neznamená, že aj skript ti rovnakým headerom bude odpovedať. To kodovanie si musíš nastaviť v skripte (v tej stránke ktorá sa vracia, nie ktorá ho volá). Toto čo si spravil je asi také, ako keby na angličana prehovoríš po slovensky a naivne čakáš, že on ti v slovenčine bude odpovedať
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Re: Prepínanie stránok (AJAX)

Príspevok od používateľa Michaelo »

Nooo ten skript takto vyzeral ked som sa k nemu d ostal, ja som tam len dopisal charset. Ako hovorim JS neovladam, takze naozaj netusim ako mu ho zmenit a kamos mi zasa povedal ze JS nic ine ako UTS-8 nepodporuje, tak teraz rozmyslam ci prejst na jQuery alebo spravit 2x Locale.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Prepínanie stránok (AJAX)

Príspevok od používateľa audiotrack »

prejsť na jquery ti nepomôže, to je tiež iba javascript (zaobalený do frameworku). A toto vôbec nie je problém javascriptu, ty to stále na ten javascript pretáčaš. Som ti napísal že problém je na strane toho skriptu ktorý voláš. Ten php súbor ktorý vracia výsledok. V ňom musíš nastaviť príslušnú hlavičku. Ak je to prepínanie stránok, tak potom v každej stránke to budeš musieť nastaviť

neviem ale prečo vlastne chceš meniť to kodovanie. Rozsah utf8 je ďaleko väčší ako win1250. Takže text vo win1250 sa správne zobrazí aj v utf. Opačne to platiť nemusí. Ak ti tam ide utf8 (a teda všetky súbory máš v tomto kodovaní) tak nevidím dôvod meniť ich na win1250
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Re: Prepínanie stránok (AJAX)

Príspevok od používateľa Michaelo »

Celý web je v 1250 a v administrácii sa zobrazujú len ? v kosoštvorci namiesto akejkoľvek diakritiky, preto potrebujem zmeniť kódovanie aby nebolo v UTF-8.

A ešte jedna vec. Ako mám podľa teba nastaviť kódovanie v tom súbore??? Nemôžem mu zmeniť kódovanie manuálne. To za prvé nepomôže (texty sú v locale.php) a za druhé, musí byť použiteľný aj s UTF-8 (len SVK jazyk má WIN-1250, CZE má UTF-8).

Ok, už to mám :)

Kód: Vybrať všetko

header('Content-Type: text/html; charset='.$locale['charset'].'');
Napísať odpoveď