Mysql 4.1 PHP - polskie znaki :(
pba - 08-02-2006 17:23
Mysql 4.1 PHP - polskie znaki :(
Witajcie,
Pewnie nie jestem pierwszym i ostatnim z tym problemem, ale robię różne ustawienia i nic :(
Zainstalowałem serwis php pod mysql 4.1 - i mam problem z wyświetlaniem polskich znaków:
Strony html koduje w iso8859-2
ustawiam zapytaniem po połączeniu z Mysql: set names 'latin2' set-character-set 'latin2'
Zmienne bazy ( po zapytaniu : 'SHOW VARIABLES LIKE "%char%"') :
character_set_client [BLOB - 4 bajtów] character_set_connection [BLOB - 6 bajtów] character_set_database [BLOB - 4 bajtów] character_set_results [BLOB - 4 bajtów] character_set_server [BLOB - 6 bajtów] character_set_system [BLOB - 4 bajtów] character_sets_dir [BLOB - 26 bajtów]
Nie mam dostępu do bezpośredniej konfiguracji mysql'a (dostęp tylko przez CPanel i PhpMyAdmin)
PHPMyAdmin pokazuje dla Mysql'a:
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) System porównań dla połączenia MySQL: latin2_general_ci
Da się to jakoś ustawić, aby działały polskie znaki w iso8859 w interfejsie serwisu ?
pozdrawiam pba
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Marcin Wasilewski - 08-02-2006 17:23
> ustawiam zapytaniem po połączeniu z Mysql: > set names 'latin2' > set-character-set 'latin2'
Wystarczy samo "set names latin2;".
Problem zasadniczo polega na tym, że żeby coś z bazy w latin2 odczytać, to zasadniczo trzeba to najpierw do tej bazy jako latin2 wprowadzić. Czyli jeśli miałeś dane wcześniejsze w bazie w latin1, tj. bez ustawionego charsetu, to wyjdzie kaszana.
spróbuj może po połączeniu najpierw wybrać bazę, a dopiero potem ustawić charset. Po przejściu na Mysql 5 też miałem problemy, ale rozwiązało je właśnie "set names latin2" i zapisanie na nowo danych z bazy z poziomu php. Tj. odczyt całej zawartości bazy za pomocą skryptu i ponowny zapis wszystkich danych z poziomu php już z ustawionym charsetem. Niestety nie udało mi się rozwiązać problemu polskich literek poprzez zrzut bazy i ponowne wczytanie pliku z danymi - zawsze miałem krzaki, więc obszedłem to "na około" i więcej nie drążyłem tematu.
pba - 08-02-2006 17:23
Marcin Wasilewski <radmar@usun_to.gorzow.mm.pl> napisał(a):
> Wystarczy samo "set names latin2;". > > Problem zasadniczo polega na tym, że żeby coś z bazy w latin2 odczytać, to > zasadniczo trzeba to najpierw do tej bazy jako latin2 wprowadzić. Czyli > jeśli miałeś dane wcześniejsze w bazie w latin1, tj. bez ustawionego > charsetu, to wyjdzie kaszana. > > spróbuj może po połączeniu najpierw wybrać bazę, a dopiero potem ustawić > charset.
Tak właśnie robie
Po przejściu na Mysql 5 też miałem problemy, ale rozwiązało je > właśnie "set names latin2" i zapisanie na nowo danych z bazy z poziomu php. > Tj. odczyt całej zawartości bazy za pomocą skryptu i ponowny zapis > wszystkich danych z poziomu php już z ustawionym charsetem. Niestety nie > udało mi się rozwiązać problemu polskich literek poprzez zrzut bazy i > ponowne wczytanie pliku z danymi - zawsze miałem krzaki, więc obszedłem to > "na około" i więcej nie drążyłem tematu.
Zapisywanie polskich znaków z poziomu php (interfejs użytkownika) również działa źle , a zapisuję jako iso8859-2 , więc obejście, jak u Ciebie, nie da chyba sukcesu :(
pba
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
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.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 |
|