Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAjax][kodowanie] Nie działa mi zmiana kodowania na iso
Forum PHP.pl > Forum > XML, AJAX > AJAX
bim2
Czytalem dwa tematy niżej i podano tam rozwiązanie które zadziałało. Jednak ja mam troszkę inny problem. U mnie jest na odwrót. Ja nie wysyłam ajaxem do pliku a pobieram z pliku ajaxem. Dokładnie chodzi o ankietę, pobieram z bazy i wrzucam ja do ajaxa tongue.gif. Tyle że zamiast polskich znaków mam ? ;/ Robię to tak i nie działa:
  1. <?php
  2. header('Content-type: text/html; charset=UTF-8');
  3. //...
  4. while($r=$db->fetch_assoc($query))
  5. {
  6.  $procent = ceil(($odp[$r['ankiety_odpowiedzi_id']] * 100) / $wszystkich);
  7. $lps++;
  8. $ankieta_wynik[$lps]['suma'] = ($odp[$r['ankiety_odpowiedzi_id']]=='')?0:$odp[$r['ankiety_odpowiedzi_id']];
  9. $ankieta_wynik[$lps]['pasek'] = pasek_info($odp[$r['ankiety_odpowiedzi_id']], $wszystkich);
  10. $ankieta_wynik[$lps]['name'] = $r['ankiety_odpowiedzi_odpowiedz'];
  11. $ankieta_wynik[$lps]['procent'] = $procent;
  12. }
  13. $give = $tpl->give();
  14. mb_convert_variables('ISO-8859-2', "ASCII,UTF-8,SJIS-win", $give);
  15. echo $give;
  16. //...
  17. ?>

Niestety ten sposób nie zadziałał happy.gif

PS. Dobra nazwa tematu, bo ostatnio mam z nią problemy tongue.gif
Pozdrawiam bim.
g-4
a probowales?

  1. <?php
  2. $give=iconv('utf-8','iso-8859-2',$give);
  3. ?>
bim2
tak, niestety nie mam dostepnej tej funkcji na serwerze. A z tym mb_convert_variables():to teraz dostaje po oczach:
Cytat
Warning: mb_convert_variables(): Unable to detect encoding in /home/nfs/domains/nfscg.info/public_html/x-trim3/mody/ankieta/ankieta.php on line 51


Dobra rozumiem ze nikt nie wie. To teraz inne pytanie. Czy w utf mzona podac polskie znaki? tzn np w htmnl %22 = spacja itp.? Możliwe jest takie coś? Jeśli tak to podajcie spis liter smile.gif
nicpek
A ja chyba znalazłem rozwiązanie..

a ) cały serwis chodzi w ISO-8859-2
b ) mysql chodzi w ISO-8859-2
c ) dane z advAJAX wiadomo w UTF-8

a Ty masz odczytać dane z php(mysql) poprzed advAJAX do php.
spróbuj w funkcji php obsługującej dane wyjściowe do ajaxa przekonwertować dane poprzez:

  1. <?php
  2. $string = iconv('', 'UTF-8', $string);
  3. ?>


u mnie to był jedyny sposób (znaleziony po 20 godzinach eksperymentów z php i googlem..) aby działało w IE i FF (i całej reszcie..)

pozdrawiam

Rafał
Cysiaczek
A czy nie lepiej stosowac wszędzie UTF-8 ? Bo taka zabawa ze zmianą kodowania jest mało sensowna... Dałbyś pliki jako utf8, bazę również i nie byłoby problemu, a tak męczysz się z bóg wie jakimi funkcjami...może warto przemyśleć takie rozwiązanie?

Pozdrawiam.
nicpek
Projekty istnieją od jakiegoś czasu, bazy spore, wszystko w iso, podłączam gdziekolwiek ajax więc łatwiej zrobić jednoliniową funkcję do zmiany kodowania stringu niż przerabiać wszystko.
Tak myślę..

Gdybym robił od nowa, to być może wszystko bym zrobił w utf..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.