Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX]polskie znaki
neo1986kk
post 11.02.2011, 05:17:49
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


witam, mam taki problem z ajaxem że nie znajduje mi miast z polskimi znakami

w tabeli mam na przykład

włochy zapisane w mysql jako WĹ‚ochy

i mam wyszukiwarkę, ktróra wysyła ajaxem tresc i wraca z odpowiedzą:
  1.  
  2. if (self.xmlHttpReq) {
  3. self.xmlHttpReq.open("POST", "search.php");
  4. self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  5.  
  6. self.xmlHttpReq.onreadystatechange = function ()
  7. {
  8.  
  9. if (self.xmlHttpReq.readyState == 4)
  10. {
  11. document.getElementById('Result').innerHTML = self.xmlHttpReq.responseText;
  12.  
  13.  


search.php

  1.  
  2. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
  3. header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
  4. header("Cache-Control: no-cache, must-revalidate" );
  5. header("Pragma: no-cache" );
  6. header("Content-Type: text/xml; charset=utf-8");
  7.  
  8.  
  9.  
  10. //Create the XML response.
  11. $xml = '<?xml version="1.0" encoding="UTF-8"?><root>';
  12.  
  13.  
  14. $szukany=$_POST['search'];
  15. //szukam
  16. $szukam1=mysql_query("Select id,nazwa from country where nazwa Like '$szukany%'");
  17. $ileszukam = mysql_num_rows($szukam1);
  18.  
  19. while($row=mysql_fetch_array($szukam1))
  20. {
  21. $xml .= '<countries id="' . $row['id'] . '">';
  22. $xml .= '<name>' . htmlspecialchars($row['nazwa']) . '</name>';
  23. $xml .= '</countries>';
  24. }
  25. $xml .= '</root>';
  26. echo $xml;
  27.  


jak wezme echo $szukany to mi wyświetla w%u0142ochy

czyli nie wyszukuje i co ja moge teraz zrobić?
Go to the top of the page
+Quote Post
grzeee
post 11.02.2011, 09:25:54
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


Sprawdź kodowanie plików, też tego gdzie jest formularz - w nagłówku daj UTF-8


--------------------
Polecam Jastrzębia Góra, serwis o nadmorskiej miejscowości.
Go to the top of the page
+Quote Post
neo1986kk
post 11.02.2011, 10:57:41
Post #3





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


wszędzie jest utf-8

juz to rozwiązałem w ten sposób:
  1.  
  2. function utf16_2_utf8 ($nowytekst) {
  3. $nowytekst = str_replace('Ą','Ą',$nowytekst);
  4. $nowytekst = str_replace('Ć','Ć',$nowytekst);
  5. $nowytekst = str_replace('Ę','Ę',$nowytekst);
  6. $nowytekst = str_replace('Ł','Ł',$nowytekst);
  7. $nowytekst = str_replace('Ń','Ń',$nowytekst);
  8. $nowytekst = str_replace('Ó','Ó',$nowytekst);
  9. $nowytekst = str_replace('Ś','Ś',$nowytekst);
  10. $nowytekst = str_replace('Ź','Ź',$nowytekst);
  11. $nowytekst = str_replace('Ż','Ż',$nowytekst);
  12.  
  13. $nowytekst = str_replace('ą','ą',$nowytekst);
  14. $nowytekst = str_replace('ć','ć',$nowytekst);
  15. $nowytekst = str_replace('ę','ę',$nowytekst);
  16. $nowytekst = str_replace('ł','ł',$nowytekst);
  17. $nowytekst = str_replace('ń','ń',$nowytekst);
  18. $nowytekst = str_replace('ó','ó',$nowytekst);
  19. $nowytekst = str_replace('ś','ś',$nowytekst);
  20. $nowytekst = str_replace('ź','ź',$nowytekst);
  21. $nowytekst = str_replace('ż','ż',$nowytekst);
  22. return ($nowytekst);
  23. }
  24.  


jedyne to ó i Ó mnie drażni bo się pokazują znaczki, a nie moge dać iconv(windows-1250,utf-8,$tekst) bo wtedy cały tekst to krzaczki...


iconv('ISO-8859-2','utf-8',$szukany)

[/php]

Ten post edytował neo1986kk 11.02.2011, 11:03:26
Go to the top of the page
+Quote Post
lukaskolista
post 11.02.2011, 11:07:52
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Cytat
włochy zapisane w mysql jako WĹ‚ochy
w bazie masz krzak, to nie oczekuj, ze na stronie go nie bedzie. Popracuj nad kodowaniem w bazie. Najlepiej, jezeli cala aplikacja uzywa tego samego kodowania
Go to the top of the page
+Quote Post
neo1986kk
post 11.02.2011, 11:42:05
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


w bazie mam latin2 general ci
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: 15.07.2025 - 16:51