Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL,advAJAX] polskie znaki...
Forum PHP.pl > Forum > XML, AJAX > AJAX
windman
Witam,

Ponieważ z ISO są ciągle problemy postanowiłem sprubować z UTF-8... i niestety to samo.
Wszystkie pliki tym razem sa w utf, baza w utf i dalej to samo... co może byc nie tak?


Po ilości wątków dotyczących polskich znaków w AJAXie można by przypuszczać, że nie będę miał problemów z rozwiązaniem tego problemu, a jednak...

Mam problem podczas wysyłania zapytania do mysql przez ajaxa (biblioteka advAJAX), a dokładniej gdy zapytanie zawiera polskie znaki.
Mysql zwraca bład:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files\WebServ\httpd\ajax\ajax.php

Plik, z którego ajax (advAJAX) wysyła zapytanie do pliku php, ma kodowanie ISO-8859-2, w pliku PHP, który zawiera skrypt zapytania do bazy umieściłem nagłówek: header("Content-Type: text/html; charset=iso-8859-2"); (chociaż to akurat ma znaczenie tylko gdy zwracam dane wynikowe).

Z pewnością istnieje skuteczne rozwiązanie tego problemu dla tej biblioteki, które działa poprawnie w większości popularnych przeglądarek... czy ktoś już je znalazł?

Skrypt zapisujący do bazy, wywoływany przez advAjax (kod dotyczy innego przypadku, zapisu, jednakże problem pozostaje ten sam - kodowanie, do bazy trafiają krzaki):
  1. header('Content-type: text/html; charset=iso-8859-2');
  2.  
  3. $opis = $_GET['zap'];
  4. mb_convert_variables('ISO-8859-2', "ASCII,UTF-8,SJIS-win", $opis);
  5.  
  6. $sql="UPDATE
  7. test
  8. SET
  9. wartosc='{$opis}'
  10. WHERE
  11. id='1'";
  12.  
  13. mysql_query($sql);


Pozdrawiam
KrzysiekNeo
Spróbuj ustawić kodowanie w bazie w następujący sposób:
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWD, DB_DB);
$conn->query('SET NAMES \'utf8\''); // oczywiście ustawiasz takie kodowanie jakie chcesz mieć - tutaj UTF-8

Jeżeli nie korzystasz z obiektówki to poszkaj odpowiednika z ustawieniem "SET NAMES".
To powinno pomóc.
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.