Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]UPDATE a polskie znaki
Forum PHP.pl > Forum > Przedszkole
p-f
Witam,
mam następujący problem przy zapisie danych z formularza do bazy MySQL:
przy dodawaniu nowego rekordu do bazy (INSERT) polskie litery z formularza przechodzą bez problemów.
Jeśli jednak dane z tego samego formularza chcę wykorzystać do edycji rekordu (UPDATE), wówczas polskie znaki są zamieniane na "krzaki" (widać to w PhpMyAdmin oraz po wyświetleniu tych danych na stronie).
Czy spotkał się ktoś z podobnym problemem i wie co z tym można zrobić? Próbowałem zmieniać kodowanie strony (wcześniej miałem ISO-8859-2, po zmianie na UTF-8 oraz zmianie linii:
Kod
mysql_query("SET NAMES 'Latin2'", $link);

na:
Kod
mysql_query("SET NAMES 'utf8'", $link);


zmieniły się tylko te krzaki na inne...
Vexator
mysql_query("set names utf8");
mysql_query("set collation_connection=utf8");
p-f
Cytat(Vexator @ 30.12.2008, 12:58:13 ) *
mysql_query("set names utf8");
mysql_query("set collation_connection=utf8");


Nie działa sad.gif

Po wykonaniu:
Kod
UPDATE `baza`.`tabela` SET `notatki` = 'ąćźż' WHERE `tabela`.`id` = '30' LIMIT 1;


w bazie w tym polu znajduje się:
Kod
ąćźż


EDIT:
Po wielu próbach okazało się, że błąd nie występował jak wywoływałem skrypt bez Ajaxa. Natomiast po wywołaniu za pomocą Ajaxa pojawiał się ten błąd.
Po dopisaniu
Kod
mysql_query("set collation_connection=utf8");

do pliku wywoływanego przez Ajax - ruszyło.
Wielkie dzięki za pomoc! smile.gif
Vexator
a czy plik *.php jest napisany kodowaniu UTF-8 bez BOM?
p-f
Cytat(Vexator @ 30.12.2008, 13:08:38 ) *
a czy plik *.php jest napisany kodowaniu UTF-8 bez BOM?



Tak
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.