Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie Znaki
Forum PHP.pl > Forum > XML, AJAX
Civil
Witam, czytałem instrukcję na tym forum z polskimi znakami, ale nie wiele mi pomogła. Bo dalej mam krzaczki. Czytałem, że do skryptu Ajax.js trzeba dodać "xmlHttp.overrideMimeType('text/html; charset=ISO-8859-2');"

I go dodałem na samym dole, nie wiem czy dobrze, ale jak go dodaję gdzieś wyżej to mi nie działa.

Mam trzy pliki:
index.php w którym mam

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
  2.  
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4.  
  5. <title>Ajax</title>
  6.  
  7. <script type="text/javascript" src="ajax.js"></script>
  8. </head>
  9. <div>
  10. ID<input type="text" id="id" value="" /> Mail<input type="text" id="mail" value="" /> Nazwisko<input type="text" id="nazwisko" value="" />
  11. type="button"
  12. value="Wyślij ok"
  13. onclick="przetwarzajDane('id','mail','nazwisko', 'div1');" />
  14. <br /><br />
  15. </div>
  16. <div id="div1">
  17.  
  18. </div>
  19. </body>
  20. </html>


ajax.js

  1. var XMLHttpRequestObject = false;
  2.  
  3. if(window.XMLHttpRequest){
  4. XMLHttpRequestObject = new XMLHttpRequest();
  5. }
  6. else if(window.ActiveXObject){
  7. XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  8. }
  9.  
  10. function przetwarzajDane(srcid, srcmail, srcnazwisko, dest)
  11. {
  12. if(XMLHttpRequestObject){
  13. var div = document.getElementById(dest);
  14. var url = "order_status.php";
  15. XMLHttpRequestObject.open("POST", url);
  16. XMLHttpRequestObject.setRequestHeader(
  17. 'Content-Type', 'application/x-www-form-urlencoded');
  18. XMLHttpRequestObject.onreadystatechange = function()
  19. {
  20. if(XMLHttpRequestObject.readyState == 4 &&
  21. XMLHttpRequestObject.status == 200){
  22. var str = XMLHttpRequestObject.responseText;
  23. div.innerHTML = str;
  24. }
  25. }
  26. var idValue = document.getElementById(srcid).value;
  27. var mailValue = document.getElementById(srcmail).value;
  28. var nazwiskoValue = document.getElementById(srcnazwisko).value;
  29. XMLHttpRequestObject.send("id=" + idValue + "&mail=" + mailValue + "&nazwisko=" + nazwiskoValue);
  30. xmlHttp.overrideMimeType('text/html; charset=ISO-8859-2');
  31.  
  32.  
  33.  
  34. }


i trzeci plik, order_status.php w którym są realizowane zapytania z bazy MySQL. W bazie mam wszystki zakodowane w Latin. Co zrobić by ujrzeć polskie znaczki?
box3r
zobacz czy czysty php bez laczenia z baza zwraca ci ładnie polskie znaki. Wiem ze napisales ze masz baze w latin ale ... pozatym XMLHttpRequestObject.setRequestHeader(
'Content-Type', 'application/x-www-form-urlencoded'); tez ustaw kodowanie
Civil
Chodziło mi o latin2.Czysty php też wywala krzaki.Co może być nie tak?Trochę mi się udało, tzn całkiem. Wysyłam dane ISO-8859-2 (bez dwóch myślników nie działa) - skrypt który je przetwarza działa w UTF-8, przekodowuję to UTF-8 do ISO, następnie robię mysql_query("set names utf8"); i robię zapytania i działa. Nie wiem dlaczego, ale w tym szaleństwie jest metoda - bo działa, zapytania się szukają jak się wpisze polski znak w nazwisko w formularzu no i wyniki z bazy są bez krzaków i co najśmieśniejsze to działa zarówno pod IE i Firefoxem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.