[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
kffiatek - 25-07-2007 00:02
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
Witam, bo to mój pierwszy post na grupę. Wstawiam rekordy z formularza PHP (w którym kodowanie to ISO-8859-2) do bazy MySQL tak:
$insertquery = "INSERT INTO tabela VALUES('" .$_POST['rec_ID']."', '".$_POST['rec_nazwa']."', '".$_POST['rec_opis']."',(itd.)
mysql_query('SET NAMES latin2'); mysql_query('SET CHARACTER SET latin2'); mysql_query($insertquery);
i niestety nie banglają. Zamiast polskich znaków są krzaki (tylko "ó" się ostało).
Kiedy wstawiam przez phpMyAdmin, wszystko działa jak należy, a mam ustawione: # System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) # System porównań dla połączenia MySQL: latin2_general_ci W bazie są już rekordy zakodowane ISO-8859-2 i na stronie, na której później prezentuje wyniki, też mam kodowanie ISO-8859-2. W bazie używam dla tych pól kodowania latin2_general_ci w "Metoda porównywania napisów". Jak to zrobić, żeby wstawiało w odpowiednim kodowaniu? Szukam po sieci i tylko te 2 linie kodu znalazłem: mysql_query('SET NAMES latin2'); mysql_query('SET CHARACTER SET latin2'); Pomagały na odczyt w dobrym kodowaniu, ale na zapis nie pomagają...
Wysyłając mnie do googla, bardzo proszę umieścić między epitetami słowa kluczowe, które mam tam wpisać.
pozdrawiam -- Kffiatek
=?ISO-8859-2?Q?Rafa=B3_Korszu=F1?= - 25-07-2007 00:02
kffiatek napisał(a): > Witam, bo to mój pierwszy post na grupę. > Wstawiam rekordy z formularza PHP (w którym kodowanie to ISO-8859-2) do > bazy MySQL tak: > > $insertquery = "INSERT INTO tabela VALUES('" > .$_POST['rec_ID']."', '".$_POST['rec_nazwa']."', > '".$_POST['rec_opis']."',(itd.) > > mysql_query('SET NAMES latin2'); > mysql_query('SET CHARACTER SET latin2'); > mysql_query($insertquery); > (...) > pozdrawiam
stawiałbym że nie chodzi o stronę bazy danych tylko o to że strona www jest wyświetlana jako win-1250, mimo że wydaje ci się, że jest jako iso-8859-2
pozdrawiam Rafał -- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
kffiatek - 25-07-2007 00:02
Rafał Korszuń pisze: > kffiatek napisał(a): >> Witam, bo to mój pierwszy post na grupę. >> Wstawiam rekordy z formularza PHP (w którym kodowanie to ISO-8859-2) do >> bazy MySQL tak: >> >> $insertquery = "INSERT INTO tabela VALUES('" >> .$_POST['rec_ID']."', '".$_POST['rec_nazwa']."', >> '".$_POST['rec_opis']."',(itd.) >> >> mysql_query('SET NAMES latin2'); >> mysql_query('SET CHARACTER SET latin2'); >> mysql_query($insertquery); >> (...) >> pozdrawiam > > stawiałbym że nie chodzi o stronę bazy danych tylko o to że strona www > jest wyświetlana jako win-1250, mimo że wydaje ci się, że jest jako > iso-8859-2
To nie to... Obserwuję to we wszystkich momentach i cały czas kodowanie jest dobre (patrzę w nagłówku i jakie wybrała przeglądarka), a po zapisie, jak przeglądam bazę, to są krzaki i na stronie, gdzie odczytuję, też są krzaki przy dobrym kodowaniu reszty strony.
pozdrawiam -- Kffiatek
Menel - 25-07-2007 00:02
=?ISO-8859-2?Q?Re:_[PHP_i_MySQL]_Wstawianie_r?= =?ISO-8859-2?Q?ekord=F3w_do_bazy_a_z=B3e_kodowanie?=
kffiatek <kffiatek.no@spam.op.pl> napisał(a):
> Witam, bo to mój pierwszy post na grupę. > Wstawiam rekordy z formularza PHP (w którym kodowanie to ISO-8859-2) do > bazy MySQL tak: > > $insertquery = "INSERT INTO tabela VALUES('" > .$_POST['rec_ID']."', '".$_POST['rec_nazwa']."', > '".$_POST['rec_opis']."',(itd.) > > mysql_query('SET NAMES latin2'); > mysql_query('SET CHARACTER SET latin2'); > mysql_query($insertquery); > > i niestety nie banglają. Zamiast polskich znaków są krzaki (tylko "ó" > się ostało). musi być tak: mysql_query ("SET character_set_client=latin2;"); mysql_query ("SET character_set_connection=latin2;"); mysql_query ("SET character_set_results=latin2;"); mysql_query ("SET character_set_system=latin2;");
pozdr
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
kffiatek - 26-07-2007 00:02
Menel pisze: > kffiatek <kffiatek.no@spam.op.pl> napisał(a): > >> Witam, bo to mój pierwszy post na grupę. >> Wstawiam rekordy z formularza PHP (w którym kodowanie to ISO-8859-2) do >> bazy MySQL tak: >> >> $insertquery = "INSERT INTO tabela VALUES('" >> .$_POST['rec_ID']."', '".$_POST['rec_nazwa']."', >> '".$_POST['rec_opis']."',(itd.) >> >> mysql_query('SET NAMES latin2'); >> mysql_query('SET CHARACTER SET latin2'); >> mysql_query($insertquery); >> >> i niestety nie banglają. Zamiast polskich znaków są krzaki (tylko "ó" >> się ostało). > musi być tak: > mysql_query ("SET character_set_client=latin2;"); > mysql_query ("SET character_set_connection=latin2;"); > mysql_query ("SET character_set_results=latin2;"); > mysql_query ("SET character_set_system=latin2;");
Dzięki wielkie! to jest rozwiązanie problemu! Działa bez zarzutu:)
pozdrawiam -- Kffiatek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[MySQL] Zapytanie z pliku , wynik do pliku
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|