Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][js] kodowanie znaków ajax?
Kamson
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 3
Dołączył: 23.10.2006
Skąd: Warszawa

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


Witam,

piszę z pewnym problemem , sam do końca nie wiem jakim. Chodzi o polskie znaki podczas wysyłania ajaxowego posta do serwera.
Dajmy na to wysyłam literkę ' ł ' a jak skrypcie odbierającym widzę ' %u0142 ' i tak prawie każdy polski znak, no i ok sprawę załatwiłem przez
strtr i tablice w stylu "%u0142" => "ł". Napisałem prawie bo z literką ' ó Ó ' jest inaczej , skrypt widzi ją jako jakiś dziwny znaki który przeglądarka po prostu reprezentuje znakiem ' ? ' i nie mogę tego zmienić sadsmiley02.gif Cały czas myślałem że to może biblioteka wysyłająca żądanie ( jQuery ) koduje znaki unicode .. al... np firebug pokazuje w nagłówkach POST że niby polskie znaki są ok wysyłane, bez żadnych zmian na hexy czy coś w tym stylu. Ma ktoś jakieś pomysły? może serwer źle odbiera te nagłówki? tylko nie wiem gdzie szukać wstydnis.gif


pozdrawiam i dziękuje za wszelką pomoc
Go to the top of the page
+Quote Post
Greg00pl
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 3.09.2007

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


Zrobię nieładnie i podepnę się - możesz wkleić tą część skryptu który robi ci translację z %uFFFF na literki, bo przydałoby mi się takiej użyć.

Pozdrawiam
Go to the top of the page
+Quote Post
bugme
post
Post #3





Grupa: Zablokowani
Postów: 16
Pomógł: 1
Dołączył: 12.09.2006

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


Cytat
sprawę załatwiłem przez strtr i tablice w stylu "%u0142" => "ł"

A nie wystarczy do tego celu urldecode albo rawurldecode? wstydnis.gif

  1. <?php
  2. function unescape($str)
  3. {
  4. array('/%([0-9a-fA-F]{2})/', '/%u([0-9a-fA-F]{4})/'),
  5. '&#x${1};',
  6. $str
  7. ),
  8. ENT_QUOTES,
  9. 'UTF-8'
  10. );
  11. }
  12. ?>


albo

  1. <?php
  2. function unescape($str)
  3. {
  4. '/%([0-9a-fA-F]{2})|%u([0-9a-fA-F]{4})/',
  5. create_function(
  6. '$match',
  7. '$m = $match[1] . (isset($match[2])? $match[2]:"");' . 
  8. 'return html_entity_decode("&#x$m;", ENT_QUOTES, "UTF-8");'
  9. ),
  10. $str
  11. );
  12. }
  13. ?>


Ten post edytował bugme 25.09.2007, 10:57:05
Go to the top of the page
+Quote Post
Greg00pl
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 3.09.2007

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


Cytat(bugme @ 24.09.2007, 19:53:39 ) *
A nie wystarczy do tego celu urldecode albo rawurldecode?


ok ale w AJAX SB dla pgpBB by Przemo to nawet nie wim gdzie go XXX hmmm....
Go to the top of the page
+Quote Post
-thee-ETH-
post
Post #5





Goście







  1. <?php
  2. function utf2iso($tekst)
  3. {
  4. $nowytekst = str_replace("%u0104","xA1",$tekst); //Ą
  5. $nowytekst = str_replace("%u0106","xC6",$nowytekst); //Ć
  6. $nowytekst = str_replace("%u0118","xCA",$nowytekst); //Ę
  7. $nowytekst = str_replace("%u0141","xA3",$nowytekst); //Ł
  8. $nowytekst = str_replace("%u0143","xD1",$nowytekst); //Ń
  9. $nowytekst = str_replace("%u00D3","xD3",$nowytekst); //Ó
  10. $nowytekst = str_replace("%u015A","xA6",$nowytekst); //Ś
  11. $nowytekst = str_replace("%u0179","xAC",$nowytekst); //Ź
  12. $nowytekst = str_replace("%u017B","xAF",$nowytekst); //Ż
  13.  
  14. $nowytekst = str_replace("%u0105","xB1",$nowytekst); //ą
  15. $nowytekst = str_replace("%u0107","xE6",$nowytekst); //ć
  16. $nowytekst = str_replace("%u0119","xEA",$nowytekst); //ę
  17. $nowytekst = str_replace("%u0142","xB3",$nowytekst); //ł
  18. $nowytekst = str_replace("%u0144","xF1",$nowytekst); //ń
  19. $nowytekst = str_replace("%u00D4","xF3",$nowytekst); //ó
  20. $nowytekst = str_replace("%u015B","xB6",$nowytekst); //ś
  21. $nowytekst = str_replace("%u017A","xBC",$nowytekst); //ź
  22. $nowytekst = str_replace("%u017C","xBF",$nowytekst); //ż
  23.  
  24. return ($nowytekst);
  25. }
  26. ?>
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 Aktualny czas: 20.08.2025 - 18:34