Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax] AJAX i polskie litery, znalazłem inne rozwiązanie...!
kukix
post 29.04.2006, 19:00:18
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.
Pewnie wiele osób spotkało sie z problemem polsich liter w advAjax'ie....

Znalazłem na to troche inny, może nie super innowacyjny sposób, ale działa:

w pliku php, który zapisuje dane z formularza do bazy:
  1. <?php
  2.  
  3. $znak_a[1] = 'ą';
  4. $znak_a[2] = 'Ą';
  5. $znak_a[3] = 'ź';
  6. $znak_a[4] = 'Ź';
  7. $znak_a[5] = 'ż';
  8. $znak_a[6] = 'Ż';
  9. $znak_a[7] = 'ś';
  10. $znak_a[8] = 'Ś';
  11. $znak_a[9] = 'ć';
  12. $znak_a[10] = 'Ć';
  13. $znak_a[11] = 'ę';
  14. $znak_a[12] = '';
  15. $znak_a[13] = 'ń';
  16. $znak_a[14] = 'Ń';
  17. $znak_a[15] = 'ł';
  18. $znak_a[16] = 'Ł';
  19. $znak_a[17] = 'ó';
  20. $znak_a[18] = 'Ó';
  21.  
  22. $znak_b[1] = ';aa;';
  23. $znak_b[2] = ';AA;';
  24. $znak_b[3] = ';xx;';
  25. $znak_b[4] = ';XX;';
  26. $znak_b[5] = ';zz;';
  27. $znak_b[6] = ';ZZ;';
  28. $znak_b[7] = ';ss;';
  29. $znak_b[8] = ';SS;';
  30. $znak_b[9] = ';cc;';
  31. $znak_b[10] = ';CC;';
  32. $znak_b[11] = ';ee;';
  33. $znak_b[12] = ';EE;';
  34. $znak_b[13] = ';nn;';
  35. $znak_b[14] = ';NN;';
  36. $znak_b[15] = ';ll;';
  37. $znak_b[16] = ';LL;';
  38. $znak_b[17] = ';oo;';
  39. $znak_b[18] = ';OO;';
  40.  
  41.  
  42. for ($i = 1; $i <= 18; $i++) {
  43.  
  44.   $tekst = ereg_replace($znak_a[$i], $znak_b[$i], $tekst);
  45. }
  46.  
  47. ?>


w pliku php, który wczytuje dane z bazy podmianiamy końcówkę na :
  1. <?php
  2.   $tekst = ereg_replace($znak_b[$i], $znak_a[$i], $tekst); 
  3. ?>


celem tego wszystkiego jest to, aby w bazie mysql "uzyskać" dane zapisane przez AJAX'a bez dziwnych znaczków...


proszę o opinie na temat tego co przygotowałem.. może jakięś usprawnienie...

P.S. Wszelkie zmieny kodowania nic nie dawały... w bazie ciągle zapisywały się jakies znaczki...

Ten post edytował kukix 29.04.2006, 19:03:22
Go to the top of the page
+Quote Post
Hacker
post 29.04.2006, 19:19:08
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 0
Dołączył: 1.11.2005

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


ereg_replace->str_replace


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
Go to the top of the page
+Quote Post
UNK
post 30.04.2006, 21:34:52
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

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


nie wiem czy przypadkiem to nie bedzie lepszym rozwiazaniem:
  1. <?php
  2.  
  3. function utf82iso88592($tekscik) {
  4.  $tekscik = str_replace("\xC4\x85", '& # 261;', $tekscik);
  5.  $tekscik = str_replace("\xC4\x84", '& # 260;', $tekscik);
  6.  $tekscik = str_replace("\xC4\x87", '& # 263;', $tekscik);
  7.  $tekscik = str_replace("\xC4\x86", '& # 262;', $tekscik);
  8.  $tekscik = str_replace("\xC4\x99", '& # 281;', $tekscik);
  9.  $tekscik = str_replace("\xC4\x98", '& # 280;', $tekscik);
  10.  $tekscik = str_replace("\xC5\x82", '& # 322;', $tekscik);
  11.  $tekscik = str_replace("\xC5\x81", '& # 321;', $tekscik);
  12.  $tekscik = str_replace("\xC5\x84", '& # 324;', $tekscik);  
  13.  $tekscik = str_replace("\xC5\x83", '& # 323;', $tekscik);
  14.  $tekscik = str_replace("\xC3\xB3", '& # 243;', $tekscik);
  15.  $tekscik = str_replace("\xC3\x93", '& # 211;', $tekscik);
  16.  $tekscik = str_replace("\xC5\x9B", '& # 347;', $tekscik);
  17.  $tekscik = str_replace("\xC5\x9A", '& # 346;', $tekscik);
  18.  $tekscik = str_replace("\xC5\xBC", '& # 380;', $tekscik);
  19.  $tekscik = str_replace("\xC5\xBB", '& # 379;', $tekscik);
  20.  $tekscik = str_replace("\xC5\xBA", '& # 378;', $tekscik);
  21.  $tekscik = str_replace("\xC5\xB9", '& # 377;', $tekscik);
  22.  return $tekscik;
  23. } // utf82iso88592
  24.  
  25. ?>

nalezy usunac spacje przy '& # xxx;'

Jak widac funkcja zwraca zmieniona warotsc, wkleic i uzywac.
Nie jest to moj wynalazek, zostal on znaleziony przez znajomego przy korzystaniu z shoutboxa AJAX'owego i problemu zapisu polskich liter w bazie.
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: 27.04.2024 - 23:48