Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php + ajax] Problem z kodowaniem, znów....
kosheen2k
post 11.03.2008, 23:31:22
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.03.2006
Skąd: z fotela ;p

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


Witajcie wszyscy... dawno mnie tu nie było... (bo nie było czasu biggrin.gif)

Zakładam kolejny temat na temat kodowania... przeszukałem forum, ale nie ma nic nt. mojego problemu.

Mianowicie mam coś takiego:

1. Formularz główny -> proste 2 inputy + textarea
2. Całość jest wysyłana za pomocą prototype'a przy pomocy Ajax.Request metodą post do pliku data.php
3. Wszystko ładnie pięknie przesyła, foreach dla $_POST w pliku data.php działa - wyświetla wszystkie przesłane zmienne poprzez post i gitarka, lecz...
4. Gdy dochodzi do przenoszenia polskich znaków robią się krzaki

I teraz... uprzedzam wszelkie odpowiedzi związane z programem, w którym pisze - tak ustawiłem kodowanie na UTF-8 -> wpisałem wszędzie ładne nagłówki meta:
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>


nawet probowałem:
  1. <?php
  2. header('Content-type: text/html; charset=UTF-8');
  3. ?>

w jednym(index.php - główny z formularzem) i drugim pliku (data.php) i to nic nie daje...

ale, jest jeszcze coś:

jak wpisałem w pliku data.php polskie znaczki śłćżćźżóćę to są wyświetlane dobrze, a te przesłane POST'em nie...
probowałem już iconv, ale też nic nie pomogło... shit happens ;/
Ma ktoś jakieś pomysły bo ja odpadam... proszę o pomoc.

Jeśli ktoś chce to obejrzeć to jest pod adresem: http://ncore.wnm.pl/owned/talkback/

Pozdrawiam, kosheen2k.

Ten post edytował kosheen2k 11.03.2008, 23:34:16


--------------------


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
netmare
post 12.03.2008, 10:40:04
Post #2





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


  1. function sendForm() {
  2. var txtNick = $('nick').value;
  3. var txtMail = $('email').value;
  4. var txtCnt = $('text').value;
  5. var params = 'nick='+txtNick+'&email='+txtMail+'&text='+txtCnt+'';
  6.  
  7.  
  8. new Ajax.Request("data.php", {
  9. method: 'post',
  10. asynchronous: true,
  11. postBody: params,
  12. onSuccess: function(t) {
  13. reloadContent(t.responseText);
  14. }
  15. });
  16. }

Jest wg mnie przyczyną tych krzaków.
Nie znam się na JS, ani na Ajaxie nic a nic, ale powinieneś chyba przed prezpostowaniem przerobić treść na url encoded, bo inaczej treść POST'a wysyłanego do data.php wygląda tak:

nick=kosheen2k&email=eduardo@kosheen.frytki.smaz.one.pl&text=asdasdasdasdasdasdassdasdasd tresc testowa :e ąśćżśąłśóęóżćóąę

a chyba nie powinna tak wyglądać, zwłaszcza że ten request posta definiuje to jako:

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

Edit:
  1. function URLEncode (clearString) {
  2. var output = '';
  3. var x = 0;
  4. clearString = clearString.toString();
  5. var regex = /(^[a-zA-Z0-9_.]*)/;
  6. while (x < clearString.length) {
  7. var match = regex.exec(clearString.substr(x));
  8. if (match != null && match.length > 1 && match[1] != '') {
  9. output += match[1];
  10. x += match[1].length;
  11. } else {
  12. if (clearString[x] == ' ')
  13. output += '+';
  14. else {
  15. var charCode = clearString.charCodeAt(x);
  16. var hexVal = charCode.toString(16);
  17. output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
  18. }
  19. x++;
  20. }
  21. }
  22. return output;
  23. }


Zaczerpnięte z: http://cass-hacks.com/articles/code/js_url_encode_decode/

Ten post edytował netmare 12.03.2008, 11:12:00
Go to the top of the page
+Quote Post
kosheen2k
post 12.03.2008, 13:02:37
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.03.2006
Skąd: z fotela ;p

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


Co jak co winksmiley.jpg używałem encode z prototype'a i śmiga winksmiley.jpg ale ta wydaje się bardziej przyjazna winksmiley.jpg a że jej użyłem i netmare mi pomogłeś pkt - pomógł dla Ciebie.

Pozdrawiam, kosheen2k.


--------------------


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: 14.08.2025 - 00:49