Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX] - Czyli artykuł na temat polskich znaków !
SN@JPER^
post 3.05.2007, 14:36:12
Post #1





Grupa: Zarejestrowani
Postów: 266
Pomógł: 0
Dołączył: 4.01.2007
Skąd: Szczecin

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


Przeszukując właśnie tematy tego forum pt. "polskie znaki w AJAX" doszedłem do wniosku, że napisze właśnie jak zapobiec "krzakom" w AJAX.

1. Pierwszą rzeczą, którą trzeba zrobic jest wstawienie meta tag np. w pliku index.html

  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />


2. Następnie, w pliku np. ajax.js dodajemy linijkę kodu:

  1. xmlHttp.overrideMimeType('text/html; charset=ISO-8859-2');


U mnie wygląda to tak:

  1. function process()
  2. {
  3. wiadomosc("Pobieranie wiadomości... Proszę Czekac");
  4.  
  5. try
  6. {
  7. xmlHttp.open("GET", serveradres, true);
  8. xmlHttp.onreadystatechange = ReServer;
  9. xmlHttp.send(null);
  10. xmlHttp.overrideMimeType('text/html; charset=ISO-8859-2');
  11. }
  12.  
  13. catch(e)
  14. {
  15. errorwiadomosc();
  16. }
  17. }


3. przy pobieraniu danych z bazy w pliku np. ajax.class.php robimy zapytanie:

  1. <?php
  2. $query_kod = "SET NAMES latin2";
  3.  $result = $this->mMysqli->query($query_kod);
  4. ?>


najlepiej przed zapytaniem przy pobieraniu danych.

U mnie cała funkcja wygląda tak:

  1. <?php
  2. public function Ajax()
  3. {
  4.  usleep(25000);
  5.  
  6.  //KODOWANIE ZNAKÓW
  7.  
  8.  $query_kod = "SET NAMES latin2";
  9.  $result = $this->mMysqli->query($query_kod);
  10.  
  11.  
  12.  
  13.  $query = 'SELECT * FROM sb_wpis';
  14.  
  15.  $result = $this->mMysqli->query($query);
  16.  
  17.  $dane = $result->fetch_array(MYSQLI_ASSOC);
  18.  
  19.  $result->close();
  20.  
  21.  $id = stripslashes($dane['id']);
  22.  $data = stripslashes($dane['data']);
  23.  $tresc = stripslashes($dane['tresc']);
  24.  $autor = stripslashes($dane['autor']);
  25.  
  26.  
  27.  
  28.  $wiadomosc = '['. $data .']'. $tresc .'-'. $autor.'.';
  29.  return $wiadomosc;
  30.  
  31. }
  32. ?>


Myślę, że choć trochę pomogłem

Pozdrawiam.

Ten post edytował SN@JPER^ 4.05.2007, 09:49:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
daniel1302
post 31.01.2012, 10:01:47
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

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


Dodaj od siebie 2 funkcje.
W JSON miałem mnóstwo problemów aby przesłać tekst z polskimi znakami. Raz udało mi się to ominąć, lecz gdy wysłałem pliki z localhosta na serwer to spowrotem to samo...
Funkcja w PHP:

  1. function toCode($string)
  2. {
  3. $string = preg_replace('/ę/', '{e}', $string);
  4. $string = preg_replace('/ó/', '{o}', $string);
  5. $string = preg_replace('/ą/', '{a}', $string);
  6. $string = preg_replace('/ś/', '{s}', $string);
  7. $string = preg_replace('/ł/', '{l}', $string);
  8. $string = preg_replace('/ż/', '{z}', $string);
  9. $string = preg_replace('/ź/', '{x}', $string);
  10. $string = preg_replace('/ć/', '{c}', $string);
  11. $string = preg_replace('/ń/', '{n}', $string);
  12. return $string;
  13. }

I oto gdy mamy taki tekst: Mój koleżka ma osę, Otrzymamy: M{o}j kole{z}ka ma os{e}, I tym sposobem JSON nic sie nam nie będzie rzucał, nie wytnie mam tekstu itp...

I funkcja odkodowująca dla JS:
  1. function toPolish(string)
  2. {
  3. string = string.replace('{e}', 'ę');
  4. string = string.replace('{o}', 'ó');
  5. string = string.replace('{a}', 'ą');
  6. string = string.replace('{s}', 'ś');
  7. string = string.replace('{l}', 'ł');
  8. string = string.replace('{z}', 'ż');
  9. string = string.replace('{x}', 'ź');
  10. string = string.replace('{c}', 'ć');
  11. string = string.replace('{n}', 'ń');
  12. return string;
  13. }


Która zwróci nam taki tekst jaki zakodowaliśmy.
Go to the top of the page
+Quote Post

Posty w temacie
- SN@JPER^   [AJAX] - Czyli artykuł na temat polskich znaków !   3.05.2007, 14:36:12
- - TomASS   Ładnie Ja swoją drogą, akurat korzystając z AJAX...   4.05.2007, 08:26:15
- - SN@JPER^   Poprawione   4.05.2007, 09:50:50
- - NoiseMc   Ostatnio robie system komentarzy uzywajac Prototyp...   28.06.2007, 22:30:34
- - tommy4   Pozwolę sobie tutaj napisać, że do polskich znaków...   1.07.2007, 12:41:26
- - deirathe   A ja mam taki problemik, używam advAjax wszys...   20.07.2007, 11:52:31
- - andulka   A czy mógłby ktoś napisać, jak ustawić polskie zna...   7.08.2007, 21:19:39
- - yarpo   Ja ze swojej strony chciałbym zauważy...   21.08.2007, 22:36:36
- - kaniagandzowski   Witam Mam problem z kodowaniem znaków które ujawni...   10.09.2007, 12:07:31
- - lord_t   Witam, też miałem problem z polskimi zn...   28.12.2007, 19:05:07
|- - rafaelb   Cytat(lord_t @ 28.12.2007, 21:05:07 )...   19.02.2008, 12:20:19
- - ementos   WITAM! To mój pierwszy post na tym forum! ...   15.01.2008, 16:00:15
- - sarat20   Punkt drugi nie działa: >> xmlHttp.overrideM...   17.02.2008, 03:11:11
- - krzysiek_raven   Witam. Przez ostatniczas próbuję rozgryźć Ajaxa i...   7.04.2008, 20:03:40
- - inż. Piniol   Dla strony w ISO-8859-2. Po stronie PHP: ...   13.08.2008, 09:20:38
- - andulka   Napotkałem dziwny problem, korzystam z ajaxa, aby ...   25.08.2008, 12:55:56
- - skowron-line   Wczoraj całkiem przypadkiem trafiłem na 2 funkcje ...   30.12.2008, 09:21:15
- - esiek   u mnie każdy plik jaki otwieram przez ajax zaczyna...   18.09.2009, 23:45:34
- - rzymek01   za pierwszym razem też robiłem takie funkcje str_r...   19.09.2009, 09:09:12
- - esiek   Dzieki i przetestuje   19.09.2009, 20:38:14
- - Eraden   Rzymek01, czy mógłbyś to rozpisać? Jestem jeszcze ...   22.09.2009, 11:03:07
- - erix   https://developer.mozilla.org/pl/Dokumentac...odeU...   22.09.2009, 11:14:45
- - rzymek01   hmm. rozpisać przeczytaj co te funkcje robią i t...   22.09.2009, 22:46:10
- - marianooo   Witam, może ktoś rzeczowo i konkretnie napisać jak...   30.09.2010, 17:18:44
- - blasq   Witam chciałbym odnieść się do przesyłania polskic...   2.12.2010, 23:13:45
- - mate006   Wiem że odkopuję stary temat, ale już mi głowa pęk...   10.10.2011, 17:08:30
- - daniel1302   Dodaj od siebie 2 funkcje. W JSON miałem mnóstwo ...   31.01.2012, 10:01:47


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 19:00