Problem z kodowaniem znaków w Query Browserze
woociek - 13-03-2006 11:21
Problem z kodowaniem znaków w Query Browserze
Witam wszystkich po raz pierwszy !
Nim zdecydowałem się napisac, przeszukalem archiwum grupy. Co prawda znalazlem podobny problem do mojego, ale niestety rozwiazanie, ktore w tamtym przypadku pomoglo od poczatku bylo u mnie zastosowane.
Problem dotyczy wykonywania zapytan w Query Browserze, a konretnie wpisywania danych do tabel. Baza oraz wszystkie jej kolumny maja ustawione kodowanie na utf-8 i kolacje na utf-polish-ci.
Kiedy dane sa wprowadzane w przegladarce, przez skrypt php, wszystko wpisywane jest poprawnie, a w tabeli zamiast polskich znakow widnieja znaczki zakodowane w utf-8. Pozniej na generowanej stronie WWW (kodowanie utf-8) dane te wyswietlaja poprawnie, sa ogonki, kreseczki itd.
Natomiast gdy wykonuje INSERT w Query Browserze i stosuje polskie znaki, dane wpisywane sa do bazy bez kodowania (tzn. widac wszystkie polskie znaki). Natomiast na wygenerowanej stronie WWW zamiast polskich znakow pojawiaja sie ? .
Szukalem rozwiazania problemu i na archiwum grupy i na forach mysql.com ... niestety nieskutecznie, na googlach wyswietlalo mi jakies listy bugow itp.
Bylbym wdzieczny, jesli nawet nie za rozwiazanie to za naprowadzenie na wlasciwa sciezke.
pozdrawiam, Lukasz
ardnech - 13-03-2006 11:21
=?iso-8859-1?q?Re:_Problem_z_kodowaniem_znak=F3w_w_Query_Brow serze?=
Przyznam sie szczerze ze nie sprawdzilem tego wczesniej, tak wiec nie moge powiedziec ze cos to da. Ale czy przy ustalaniu polaczenia ustawiasz jakiego typu ma byc to polaczenie? czyli jakiego kodowania uzywasz?
mysqli_query($db, "SET NAMES 'utf8'");
Ja daje powyzsze na poczatku przed wywolaniem zapytan tak by baza nie "miala watpliwosci" o jakiego typu kodowanie mi chodzi. Niestety nie mam czasu by to sprawdzic :(
woociek - 13-03-2006 11:21
>> mysqli_query($db, "SET NAMES 'utf8'");
Hmm, ale to jest funkcja PHP, a w phpie wszystko mi dziala jak nalezy, posluguje sie funkcja mysql_connect() ... problem jest jedynie z wprowadzaniem zapytan w Query Browserze ...
Skubaniec wpisuje mi do bazy polskie znaczki, zamiast kodowac je w UTF-8 .... a reszta tak jak opisalem to post wczesniej, mimo wszystko dzieki za zainteresowanie ... czekam na dalsze pomysly
pozdrawiam, Lukasz
ardnech - 13-03-2006 11:21
=?iso-8859-1?q?Re:_Problem_z_kodowaniem_znak=F3w_w_Query_Brow serze?=
Ok, moja wina.
Ale musze Cie zmartwic - próbowalem walczyc z tym na poczatku, ale w koncu poleglem.
woociek - 13-03-2006 11:22
Oficjalnie jestem zamrtwiony ;]
Nic czekam dalej, moze ktos cos wymysli ...
pozdro, Lukasz
*ryspek* - 13-03-2006 11:22
> Natomiast gdy wykonuje INSERT w Query Browserze i stosuje polskie znaki, > dane wpisywane sa do bazy bez kodowania (tzn. widac wszystkie polskie > znaki). Natomiast na wygenerowanej stronie WWW zamiast polskich znakow > pojawiaja sie ? . Może po-może Option->General option->Language->System Deafault *ryspek*
woociek - 13-03-2006 11:22
Language jest ustawione na System Default ... problem w tym, że wszystko jest pokonfigurowane, a jedyną rzeczą, która nie działa na 100% jest Query Browser...
pozdrawiam, Łukasz
woociek - 13-03-2006 11:24
Zapytalem zaprzyjaznionego fachowca, ktory pracuje na MySQL i uzywa Query Browsera, ponadto zna sie tez na php. Otoz okazalo sie ze problem istnial po stronie klienta (php generowalo strone w innych kodowaniach, latin-1 zamiast utf-8).
Zeby sprawdzic czy to ten akurat problem nas dotyczy nalezy wykonac nastepujace zapytanie :
SHOW SESSION VARIABLES like '%charac%'
Najpierw w Query Browserze (pojawi sie lista kodowan) w moim wypadku wynik wygladal nastepujaco :
'character_set_client', 'utf8' 'character_set_connection', 'utf8' 'character_set_database', 'utf8' 'character_set_results', 'utf8' 'character_set_server', 'utf8' 'character_set_system', 'utf8'
Nastepnie to samo zaptanie wykonac nalezy w skrypcie php, w moim przypadku czesc kodowan byla ustawiona na latin-1 i stad znaki zapytania na stronie wynikowej.
Aby zlikwidowac ten problem, nie mieszajac nic w konfiguracji serwera mysql (nie zawsze serwer na ktorym pracujemy nalezy do nas) wystarczy skrypcie po polaczeniu z baza, jako pierwsze zapytanie wykonac 'set names utf8'. To zalatwia cala sprawe !
Dziekuje wszystkim, ktorzy starali sie pomoc i mam nadzieje, ze komus przyda sie ten malutki tutorial. pozdro, Łukasz
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
mysql i mysql-front, problem
String line; if (line=="cos"){...}....problem
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
[postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?=
[oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?=
Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ]
[PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ?
[MySQL] Problem z zapisem danych w bazie danych
Problem z mysql - can't connect to MySQL/nietypowo...
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.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 |
|