[JS] innerHTML i problemy z kodowaniem

0

Ostatnio zainteresowała mnie technologia AJAX więc postanowiłem się co nieco o niej dowiedzieć. W taki sposób natknąłem się na kod, który pozwala pobrać inny dokument bez przeładowania strony. Ów kod dostosowałem do przykładu na mojej stronie testowej tak, że zamiast menu kontekstowego ma się pojawić obiekt div z tekstem, który zwróci skrypt PHP. Wszystko było by ok, gdyby nie pytajniki, które pojawiają się w dynamicznie wstawionym tekscie zamiast polskich znaków diakratycznych. Zmieniłem adres skryptu na plik txt i problem nie zniknął. Poniżej załączyłem omawiany kawałęk kodu.

document.getElementById("bprev").style.display="";
req = new XMLHttpRequest();
//req.open( "GET", "bprev"+nr+".html", true );
req.open( "GET", "bbb.txt", true );
req.onreadystatechange=function() {
  if (req.readyState==4)
   document.getElementById("src").innerHTML = req.responseText;
 }
req.send(null)

W nagłówkach strony ustawiłem kodowanie iso-8859-2. Gdyby ktoś wiedział jak sobie z tym poradzić to byłbym okropnie wdzięczny [browar]

0

no i nikt nie odpowiedział :(
ale za to sam se poradziłem ;P

Wcześniej w pliku PHP używałem funkcji mb_convert_encoding do konwersji typu kodowania moich danych na iso-8859-2 bo takie kodowanie miałem ustawione w nagłówkach strony. Widać JS rządzi się swoimi prawami. Sprawdziłem kodowanie moich danych i okazało się, że jest to iso-8859-2 a jedyne co trzeba zrobić to przekonwertować to na UTF-8. Ale dlaczego tak sie dzieje [???]

0

Hmm... Strzelam absolutnie, ale może to wynika stąd, że utf-8 jest aktualnie standardem i to on jest domyślnie sotosowany w XML'u?

0

Hmmm, w moim mniemaniu skoro zmieniam właściwość innerHTML obiektu to tak jakbym grzebał w dokumentu html czyli kodowanie powinno być takie jak ustawiono w sekcji HEAD. Jednak chyba rzeczywiście jest tak jak mówisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1