Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ajax] polskie znaki
angerthor
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 13.02.2006
Skąd: Warszawa

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


Witam,

Mam skrypt dodający komentarze z wykorzystaniem ajax'a, ktory wysyla dane w ten sposob:

komentarze.php
  1. <script type='text/javascript'>
  2.  
  3. <!--//<![CDATA[
  4.  
  5. var ajaxReq = new AjaxRequest();
  6.  
  7. function dodajKomentarz() {
  8.  
  9.  
  10. var autor = document.getElementById("comment_author").value;
  11. var tekst = document.getElementById("comment_text").value;
  12.  
  13.  
  14. ajaxReq.send('POST', 'dodawanie_komentarza.php', handleRequest,
  15. 'application/x-www-form-urlencoded; charset=UTF-8',
  16. 'autor=' + autor +
  17. '&&tekst=' + tekst);
  18.  
  19. };
  20.  
  21.  
  22. function handleRequest() {
  23. if(ajaxReq.getReadyState() == 4 && ajaxReq.getStatus() == 200) {
  24.  
  25. document.getElementById('whole_comment').innerHTML=ajaxReq.getResponseText();
  26. }
  27. }
  28.  
  29. // ]]>-->
  30.  
  31. </script>
  32.  



I teraz, jezeli chce zwrocic tylko przeslane dane, czyli

dodawanie_komentarza.php
  1. <?php
  2. header("Content-Type: text/html; charset=iso-8859-2");
  3.  
  4. echo $_REQUEST['tekst'];
  5.  
  6. echo "ąąąąą";
  7. ?>



Pierwsza linijka będzie bez polskich znaków, druga natomiast będzie w porządku. Jakiś pomysł co z tym fantem zrobić ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Berg
post
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 37
Dołączył: 1.05.2008
Skąd: Białystok

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


Wysyłasz reqest za pomocą uft-8 a dobierasz na stronie na której masz ustawione kodowanie iso-8859-2. Musisz się zdecydować na jedno winksmiley.jpg
Go to the top of the page
+Quote Post
angerthor
post
Post #3





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 13.02.2006
Skąd: Warszawa

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


a, czy ajax nie ma problemów z wysyłaniem z kodowaniem iso ? Bo zmiana requesta na iso nie pomogła.

Poszperałem jednak trochę w manualu i znalazłem rozwiązanie :
  1. $tekst=iconv('utf-8','iso-8859-2',$_REQUEST['tekst'];);


Ten post edytował angerthor 28.09.2009, 10:25:57
Go to the top of the page
+Quote Post
cudny
post
Post #4





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

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


Z ogonkami zawsze jest pełno kłopotów.
Jak deklarujesz kodowanie znaków to strona musi być zapisana (przez edytor textu) dokładnie w tym samym kodowaniu.
Wysyłasz dane iso, a strona zapisana jest przez edytor textu w utf-8.
Dla tego wychodzą krzaki.

Zawsze mam z tym problem, np. przy mailingu.
Już dawno powinny te standardy być znormalizowane.
Jedno kodowanie, ewentualnie wybierasz pl, eng czy tam jakiś bulgarian.
smile.gif

pzdr


--------------------
..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
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: 21.08.2025 - 17:02