Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ajax - brak polskich znaków w IE, w FF wszystko OK, brak polskich znaków w IE
lukaszrw
post 11.01.2012, 21:24:25
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

Ostrzeżenie: (0%)
-----


Mam kod który poprawnie wyświetla polskie znaki w FF.
W IE brak polskich znaków, ale gdy bezpośrednio odwołuję się do skryptu PHP zapytanie.php wszystko wygląda poprawnie - polskie znaki są.
Giną w chwili (tylko w IE) gdy zwracana jest zawartość obiektu znacznikom drzewa <div id='artul'>.
Proszę o pomoc w znalezieniu rozwiazania.

Odwołanie się bezposrednie do zapytanie.php daje w kazdym przypadku prawidłowy wynik, polskie znaczki są.
Baza utf-8.
Kodowanie strony iso-8859-2.
Dodatkowo dodałem:
  1. header('Content-type: text/html; charset=iso-8859-2');

... i nic, w IE brak polskich znaków.

  1. <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>
  2. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>
  3. <script language="JavaScript" charset="iso-8859-2">
  4.  
  5. function submitForm(url, id_wyd){
  6. var req = null;
  7. document.getElementById("artul").innerHTML = "Started...";
  8.  
  9. if (window.XMLHttpRequest){
  10. req = new XMLHttpRequest();
  11. if (req.overrideMimeType) {
  12. req.overrideMimeType('text/html; charset=iso-8859-2');
  13. }
  14. } else if (window.ActiveXObject) {
  15. try {
  16. req = new ActiveXObject("Msxml2.XMLHTTP.3.0");
  17. } catch (e){
  18. try {
  19. req = new ActiveXObject("Microsoft.XMLHTTP");
  20. } catch (e) {}
  21. }
  22. }
  23.  
  24. req.onreadystatechange = function(){
  25. document.getElementById("artul").innerHTML = "<div class='ajaxPreload'>Wczytuję treść wydarzenia ...</div>";
  26.  
  27. if(req.readyState == 2){
  28. document.getElementById("artul").innerHTML = "<div class='ajaxPreload'></div>";
  29. }
  30. if(req.readyState == 3){
  31. document.getElementById("artul").innerHTML = "<div class='ajaxPreload'>Finisz !</div>";
  32. }
  33. if(req.readyState == 4){
  34. if(req.status == 200)
  35. {
  36. document.getElementById("artul").innerHTML = "koniec pobierania tekstu. " + req.responseText;
  37. } else {
  38. document.getElementById("artul").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
  39. }
  40. }
  41. };
  42. url = url+'?id='+id_wyd;
  43. req.open("GET", url, true);
  44. req.send(null);
  45. }
  46. </head>
  47. <div id='artul'>Wczytaj ...</div>
  48. <a href='#' onclick="submitForm('id','zapytanie.php')" >Wczytaj</a>
  49. </body>
  50. </html>


Ten post edytował lukaszrw 11.01.2012, 21:53:06
Go to the top of the page
+Quote Post
by_ikar
post 11.01.2012, 21:26:42
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Kto szuka, ten znajdzie: http://forum.php.pl/index.php?showtopic=67633
Go to the top of the page
+Quote Post
lukaszrw
post 11.01.2012, 21:49:35
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

Ostrzeżenie: (0%)
-----


Ten artykół juz znam,
mam:
  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />

oraz
  1. xmlHttp.overrideMimeType('text/html; charset=ISO-8859-2');

w moim przypadku
  1. req.overrideMimeType('text/html; charset=ISO-8859-2');

oraz zapytanie zwraca poprawnie znaki - jeśli sam kod zapytania wywołam bezposrednio z przegladarki IE lub FF.
Szukam błędu w moim skrypcie (!)

Ten post edytował lukaszrw 11.01.2012, 22:00:06
Go to the top of the page
+Quote Post
by_ikar
post 11.01.2012, 22:11:00
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Kto szuka, ten najczęściej coś znajduje: http://forum.php.pl/index.php?showtopic=157415
Go to the top of the page
+Quote Post
lukaszrw
post 11.01.2012, 23:55:06
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

Ostrzeżenie: (0%)
-----


tego juz prubowałem, dodałem:
  1. $textA = iconv("Windows-1250", "ISO-8859-2", $textA );
  2. echo $textA;

i dalej kwadraciki ... w IE, najprawdopodobniej popełniam jakiś "dziecinny błąd" - którego nie widzę ... http://forum.php.pl/style_images/upgrade_i...icons/icon8.gif

sprubuje jeszcze wykorzystać:
  1. <?php
  2. iconv_set_encoding("internal_encoding", "UTF-8");
  3. iconv_set_encoding("output_encodinf", "ISO-8859-2");
  4. ob_start("ob_iconv_handler");
  5. // Tutaj możemy umieścić resztę kodu skryptu i strony zakodowanego w Unikodzie.
  6. // Do przeglądarki trafi ISO-8859-2
  7. ?>

może powyższy przykład cos poprawi.

wstawiłem do mojego kodu:
  1. iconv_set_encoding($textA, "Windows-1250");
  2. iconv_set_encoding($textA, "ISO-8859-2");
  3. ob_start("ob_iconv_handler");
  4.  
  5. echo $textA;

i teraz tez nic, dalej kwadraciki zamiast polskich znaków w IE, w FF wszystko OK.
Go to the top of the page
+Quote Post
erix
post 12.01.2012, 00:02:37
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Odpal sobie konsolę pod Firefoksem i sprawdź, jakie MIME zwraca serwer z odpowiedzią AJAX.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
lukaszrw
post 12.01.2012, 20:52:25
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

Ostrzeżenie: (0%)
-----


Gdybym wiedział co oznacza "Odpal sobie konsolę pod Firefoksem", to bym odpalił i z resztą sobie poradził.
baaasmiley.gif
Ciekawym przykładem braku polskich znaków jest stronka: http://magazynt3.pl/ajax-kurs-od-podstaw-jquery/ poświęcona właśnie Ajaxowi i jquery (exclamation.gif!).
specool.gif

Ten post edytował lukaszrw 12.01.2012, 20:57:16
Go to the top of the page
+Quote Post
erix
post 12.01.2012, 21:56:46
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Gdybym wiedział co oznacza "Odpal sobie konsolę pod Firefoksem", to bym odpalił i z resztą sobie poradził.

Gdybyś moc obliczeniową swojego mózgu wykorzystywał na poszukiwanie rozwiązania problemu zamiast nad myśleniem, czym wytłumaczyć swoje lenistwo wpadłbyś na to, żeby w google wpisać firefox konsola: https://www.google.com/search?client=opera&...-8&oe=utf-8

Wstyd, leniu.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
lukaszrw
post 13.01.2012, 00:17:03
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.06.2011

Ostrzeżenie: (0%)
-----


masz dowcip party.gifsmile.gif ,
Faktycznie przeoczyłem konsolę błędów - nigdy z niej nie korzystałem! Powalczę z projektem w weekend. Wczoraj kosiłem trawę,...
a w sobotę ma być u nas przy gruncie -20oC exclamation.gif
to dopiero problem exclamation.gif!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:46