Polskie znaki przy ładowaniu podstrony

0

Witam, chciałem zastosować znaleziony w internecie sposób na ładowanie podstrony do diva, sposób ten wygląda tak:

<script type="text/javascript">
var ObiektXMLHttp = false;
if (window.XMLHttpRequest) { 
   ObiektXMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { 
   ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
function getData(zrodlo) { 
   if(ObiektXMLHttp) {
      ObiektXMLHttp.open("GET", zrodlo);
      ObiektXMLHttp.onreadystatechange = function() {
          if (ObiektXMLHttp.readyState == 4) {
            document.getElementById('content').innerHTML=ObiektXMLHttp.responseText;
         }
      }
      ObiektXMLHttp.send(null);
   }
} 
getData('home.html');
</script>

i załącznik tworzę w ten sposób:
<a href="" onclick="getData('home.html'); return false">
Wszystko ładnie działa tylko, że w otwartej w ten sposób podstronie nie działają polskie znaki. Gdy załaduję podstronę poprzez php-owe include to jest dobrze. Mam zastosować inny sposób czy coś poprawić tutaj?

0

AJAX nie obsługuje tagów META które cię ratują przy normalnym przeglądaniu strony. Brakuje nagłówka Content-Type definiującego rodzaj dokumentu oraz użyte kodowanie. Zmień rozszerzenie z home.html na home.php i na samej górze pliku wstaw:

<?php
header('Content-Type: text/html; charset=utf-8');
?>

Zamiast utf-8 wstaw nazwę swojego kodowania, bo inaczej nie zadziała.

0
 function getData(zrodlo) { 
   if(ObiektXMLHttp) {
      ObiektXMLHttp.open("GET", zrodlo);
      ObiektXMLHttp.onreadystatechange = function() {
          if (ObiektXMLHttp.readyState == 4) {
            document.getElementById('content').innerHTML=ObiektXMLHttp.responseText;
         }
      }
      ObiektXMLHttp.send(null);
      ObiektXMLHttp.overrideMimeType('text/html; charset=UTF-8'); //Ustawiamy typ danych i charset
   }
} 

Tak też można :]

0

Wielkie dzięki właśnie o to chodziło :D

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