(mysql) pomozcie, bo sie powiesze jak tak dalej pojdzie (kodowanie utf8)
Piotr Nowak - 11-12-2005 17:33
(mysql) pomozcie, bo sie powiesze jak tak dalej pojdzie (kodowanie utf8)
Witam mam dumpa w UTF8 baza ma latin1_swedish_ci
potrzebuje albo to skonwertowac do latin1 jakos lub jak wyswietlic utf8 poprawnie na www? bo co nie robie to krzaki. rece mi juz opadaja, 3 dni z tym siedze, przeczytalem pol googla i nic. aha strona jest kodowana w 8859-2
pomocy
=?ISO-8859-2?Q?Pawe=B3_Roszkiewicz?= - 11-12-2005 17:33
Piotr Nowak napisał(a): > lub jak wyswietlic utf8 poprawnie na www? bo co nie robie to krzaki. > rece mi juz opadaja, 3 dni z tym siedze, przeczytalem pol googla i nic. > aha strona jest kodowana w 8859-2
czyli tego dumpa wsadzasz na stronę (bo coś dzisiaj nie jestem kumaty :) jak to robisz - otwierasz plik zrzutu, otwierasz to jakimś skryptem? (PHP, czy jakieś inne)
Bo jeśli go poprostu otwierasz, to doraźnie działa zmienić kodowanie w przeglądarce (ale to chyba nie jest zbyt ambitne podejście do sprawy :)
Jeśli chodzi o PHP to kiedyś miałem podobny problem i pomogło takie coś:
$lines = file('plik.txt'); // Za pomocą pętli przeglądamy naszą tablicę i pokazujemy źródło strony w postaci // źródła HTML oraz numery linii. foreach ($lines as $line_num => $line) { echo iconv("UTF-8","ISO-8859-2",$line); }
(na podstawie http://pl2.php.net/manual/pl/function.iconv.php) jeśli chodzi o inne języki programowania/skryptowe albo konfigurację mysqla niestety Ci nie pomogę, ale jeśli używasz PHP to jest to pomysł wart rozważenia :) -- pozdrawiam Paweł Roszkiewicz
Artur Muszynski - 11-12-2005 17:33
"Piotr Nowak" <niemam@aoaoa.com> wrote in message news:l4ednbtbtOp76QbenZ2dnUVZ_tOdnZ2d@comcast.com. .. > Witam > mam dumpa w UTF8 > baza ma latin1_swedish_ci > > potrzebuje albo to skonwertowac do latin1 jakos > lub jak wyswietlic utf8 poprawnie na www? bo co nie robie to krzaki. > rece mi juz opadaja, 3 dni z tym siedze, przeczytalem pol googla i nic. > aha strona jest kodowana w 8859-2
Najpierw uporządkuj sobie myślenie. Masz różnych odbiorców danych i każdy spodziewa się czego innego: 1. Wiersz w tabeli MySQL koduje sobie w formacie latin1 (ISO-8859-1) 2. Plik zakodowany jest w UTF-8 3. Strona WWW spodziewa się latin2 (ISO-8859-2) 4. phpMyAdmin (bo pewnie przy jego pomocy importujesz plik) na szczęście może dostosować się do formatu, w jakim otrzymuje dane. Jeśli wrzucisz UTF-8 nie informując MySQL o tym, to nic sensownego z tego nie wyjdzie. Jeśli go poinformujesz (SET CHARACTER SET UTF8), to znaki zostaną przekodowane do formatu zrozumiałego dla MySQL (znacznie upraszczając prawdziwy stan rzeczy). Konwersja na latin1 zakończy się jednak utratą części informacji (jeśli nie błędem, nie pamiętam w tej chwili). Zacznij więc od ustawienia odpowiedniego kodowania/sortowania w kolumnie/tabeli/bazie (masz tu spory wybór - phpMyAdmin w miarę świeżej wersji znacznie ci to ułatwi), np latin2-general-ci albo utf8-polish-ci. Jeśli importujesz w phpMyAdminie, to możesz wskazać mu importowany plik i ustawić kodowanie znaków dla pliku (nawet domyślnie jest utf8, więc nic nie musisz robić). Jeśli importujesz przez wklejenie do okienka SQL w phpMyAdminie, to muszą być one zgodne ze stroną kodową przeglądarki - mówiąc krótko na ekranie muszą być wyświetlane prawidłowo. Jeśli w phpMyAdminie dane wyświetlają się poprawnie (i najlepiej sprawdzić też, czy sortują się ok), to znaczy, że w baza jest w porządku, pozostaje tylko sprawa wyświetlenia na www. W większości przypadków konieczne jest jawne wskazanie kodowania, jakiego spodziewamy się od MySQL - czyli przed pierwszą kwerendą SET NAMES='Latin2' albo SET CHARACTER SET latin2, jeżeli strona zakodowana ma być w ISO-8859-2. Na koniec - istotna jest też wersja MySQL'a - starsze są bardziej ograniczone (np nie możesz ustawić kodowania dla kolumny).
artur
> > pomocy > >
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plmisida.pev.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 |
|