Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Ajax] Polskie znaki
impuls2003
post 15.08.2006, 00:54:01
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 15.08.2006

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


Mam mianowicie taki problem:

Dokument jest w iso-8859-2
Wczytuje ajaxem dane w ten sposob:

  1. <?
  2. header("Content-Type: text/html; charset=iso-8859-2"); 
  3. ?>
  4.  
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  7. </head>
  8. <? 
  9.  if (!isset ($tryb)) {$tryb='';}
  10. if ($tryb == 'ajax') {echo urlencode("ąĄćĆęĘłŁóÓśŚźŹżŻ&plusmn;ˇ&para;&brvbar;Ľ&not;Ńń"); exit;} 
  11. ?>
  12. <body>
  13. </body>


Funkcja odczytujaca dane

  1. <?php
  2. function URLDecode( $tekst )
  3. {
  4.  // Replace + with ' '
  5.  // Replace %xx with equivalent character
  6.  // Put [ERROR] in output if %xx is invalid.
  7.  var HEXCHARS = "0123456789ABCDEFabcdef"; 
  8.  var encoded = $tekst;
  9.  var plaintext = "";
  10.  var i = 0;
  11.  while (< encoded.length) {
  12.  var ch = encoded.charAt(i);
  13.  if (ch == "+") {
  14.  plaintext += " ";
  15.  i++;
  16.  } else if (ch == "%") {
  17. if (< (encoded.length-2) 
  18. && HEXCHARS.indexOf(encoded.charAt(i+1)) != -
  19. && HEXCHARS.indexOf(encoded.charAt(i+2)) != -) {
  20. plaintext += unescape( encoded.substr(i,3) );
  21. += 3;
  22. } else {
  23. alert( 'Bad escape combination near ...' + encoded.substr(i) );
  24. plaintext += "%[ERROR]";
  25. i++;
  26. }
  27. } else {
  28.  plaintext += ch;
  29.  i++;
  30. }
  31. } // while
  32.  return plaintext;
  33. };
  34.  
  35. function wstawajax (adresurl) {
  36.  advAJAX.get({
  37. url: adresurl,
  38. onSuccess : function(obj) { gEBI('zawartosc').innerHTML = URLDecode(obj.responseText); },
  39. onError : function(obj) { alert("Error: " + obj.status); }
  40. });
  41. }
  42. ?>



I teraz funkcja javascript zamiast tworzyc mi 8859-2, tworzy mi zdaje sie utf-16 i na ekranie mam krzaczki
Normalne znaki sa jako ascii, a polskie znaki sa jako utf

Probowalem wszystkich znalezionych metod, ale nic to nie dalo

Podglad problemu:
http://www.jacob.impuls.webd.pl/
LINK: POCZTA UPOMINKOWA/TEST

Moznabybylo zrobic zeby zostalo tak ze: innerHTML = URLDecode(obj.responseText); },
a dac jakas akcje na warstwie ze przy zmianie zawartosci dekoduje php-owskim urldecode.
Tylko jakos nie wyobrazam sobie tego rozwiazania

Przed <head> mam:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Ten post edytował impuls2003 15.08.2006, 13:56:54
Go to the top of the page
+Quote Post

Posty w temacie
- impuls2003   [Ajax] Polskie znaki   15.08.2006, 00:54:01
- - mariuszn3   a po co je koduejesz w tym pierwszym kodzie za pom...   15.08.2006, 14:08:41
- - impuls2003   Probowale bez urlencode, i urldecode. Mialem zamia...   15.08.2006, 14:15:41
- - mariuszn3   a w jakim kodowaniu masz zapisany ten plik php i w...   15.08.2006, 14:27:29
- - impuls2003   Strone obsluguje jeden plik index.php Kodowany jes...   15.08.2006, 14:32:47
- - mariuszn3   A skąd wiesz, że normalny notatnik zapisuje dane w...   15.08.2006, 14:35:21
- - impuls2003   A co za problem poprawic w notatniku literki na is...   15.08.2006, 14:41:07
- - mariuszn3   impuls.. ja Ci tylko chcę pomóc. Twój problem najp...   15.08.2006, 14:47:55
- - impuls2003   > impuls.. ja Ci tylko chcę pomóc. Wiem. Nic ...   15.08.2006, 14:58:14
- - bim2   Nieno ja tez mam taki problem. Wysylam iso a ajax ...   15.08.2006, 15:12:42
- - mariuszn3   javascript bierze dane binarnie tak jak php, po pr...   15.08.2006, 15:21:12
- - Balon   ja dzisiaj bawilem sie iconv" title="Zobacz w manu...   15.08.2006, 15:37:24
- - impuls2003   Problem lezy po stronie javascript unescape() Pisz...   15.08.2006, 16:27:37
- - bim2   @balon: znasz jakąś funkcję zastępcza. Bo mi nie c...   15.08.2006, 18:02:32
- - impuls2003   Rozwiazanie (nie widzialem tego wogule w interneci...   15.08.2006, 19:46:32
- - mariuszn3   Jak to jest, że wszędzie gdzie używ...   15.08.2006, 19:51:21
- - impuls2003   I teraz np. mam lighbox js (ten efekt do zdjec) i ...   16.08.2006, 00:48:50
- - UNK   Aby JS działał musisz przepuści...   16.08.2006, 06:47:39
- - impuls2003   Ok. A co zrobic jesli w IE chodzi, a w FF krzaczy ...   17.08.2006, 00:57:52
- - mariuszn3   W ogóle ostatnio przyszło mi do głowy co może być ...   17.08.2006, 16:37:50
- - legorek   Jak przeczytałem te kombinacje o mało co...   17.08.2006, 16:59:16
- - impuls2003   Wpisalem powyzszy przyklad na strone. http://www.j...   17.08.2006, 18:53:14
- - legorek   Standardowa odpowiedź informatyków: dziwne, u mnie...   24.08.2006, 10:56:07
- - impuls2003   Nic to nie zmienia bo mialem wpisane bez błędu: [...   24.08.2006, 11:55:37
- - bim2   Standardowa odpowiedź informatyków: dziwne, u...   24.08.2006, 11:56:05


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: 19.04.2024 - 06:26