MySQL przesiadka z 4.0.25 na 5.0.37 i problemy
RudeBoy - 11-05-2007 12:33
MySQL przesiadka z 4.0.25 na 5.0.37 i problemy
Witam!
Panowie bo ja juz osiwalem... Pracowalem na 4.025 i musialem przesiasc sie na nowsza wersje.
Zainstalowalem 5.0.37 no i zwariowalem.
PhpMyAdmin pokazuje takie cos...
collation connection latin1_swedish_ci latin2_general_ci
Pierwsza to wartosc sesji a druga globalna. Skad u licha to sie bierze skoro przy instalacji i w my.ini wybralem latin2?
W zwiazku z tym, ze jest tak jak jest to do bazy danych nie moge dodac zadnego rekordu zawierającego polskie znaki. I tak proba dodania ciagu w którym wystepuje "ś" skutkuje bledem.
#1366 - Incorrect string value: '\xB6' for column 'va' at row 1
Tabela typu MyISAM system porownan dla tabeli latin2_general_ci.
Proba wyszukania polskiej literki w bazie to blad:
#1267 - Illegal mix of collations (latin2_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like'
Przegrzebalem sie juz przez prezruzne wersje od 4.1 w zwyz i zawsze tak samo.
Jak i gdzie ustawic aby mozna bylo po ludzku kozystac z polskich znakow w Latin2.
Owszem wiem ze jak zaraz po polaczeniu wykonam set names latin2 to dziala ok.
Tylko, ze ja chce aby konfiguracja domyslna bylo LATIN2.
Bardzo Was prosze doradzie cos bo juz mi raczki opadaja.
RudeBoy
Piotr Keplicz - 11-05-2007 12:33
RudeBoy: > Owszem wiem ze jak zaraz po polaczeniu wykonam set names latin2 > to dziala ok. > > Tylko, ze ja chce aby konfiguracja domyslna bylo LATIN2.
W my.cnf:
[mysqld] init-connect = "SET NAMES latin2"
..pk.
RudeBoy - 11-05-2007 12:33
Piotr Keplicz napisał(a):
> W my.cnf: > > [mysqld] > init-connect = "SET NAMES latin2" > > .pk.
Na Windowsach od wersji 4.1 nie ma plikow my.cnf tylko my.ini
Dopisanie Twojej propozycji do my.ini niestety nie skutkuje niczym :/
RudeBoy
Piotr Keplicz - 11-05-2007 12:33
RudeBoy: >> [mysqld] >> init-connect = "SET NAMES latin2" > > Na Windowsach od wersji 4.1 nie ma plikow my.cnf tylko my.ini
Możliwe.
> Dopisanie Twojej propozycji do my.ini niestety nie skutkuje niczym :/
Jak rozumiem przeładowałeś MySQL. Jeśli nie działa (z różnych powodów, np. pod Linuksem nie działa dla roota), to pozostaje SET NAMES. Problemem jest tu PHP, które zawsze ustawia latin1 w połączeniach nie honorując ustawień z konfiguracji MySQL.
..pk.
RudeBoy - 11-05-2007 12:33
Piotr Keplicz napisał(a):
> Jak rozumiem przeładowałeś MySQL. Jeśli nie działa (z różnych powodów, np. > pod Linuksem nie działa dla roota), to pozostaje SET NAMES. Problemem jest > tu PHP, które zawsze ustawia latin1 w połączeniach nie honorując ustawień z > konfiguracji MySQL.
Wszystko dziala na Windzie. Oczywiscie, ze mysqla przeladowalem. W php ustawione wszystko na Laitin2. Do swoich skryptow to owszem moge po polaczeniu z baza zrobic SET NAME ale no juz np z phpMyAdminem tak latwo nie bedzie...
Nie wierze w to, ze nie ma rozwiazania tego problemu no poprostu w to nie wierze! Przecie to zupelnie nie logiczne. W starszych wersjach sie dalo a w nowych sie nie da?
RudeBoy
=?ISO-8859-2?Q?Artur_Muszy=F1ski?= - 11-05-2007 12:33
RudeBoy pisze: > Do swoich skryptow to owszem moge po polaczeniu z baza zrobic SET NAME > ale no juz np z phpMyAdminem tak latwo nie bedzie...
Nie martw się, phpMyAdmin ustawia sobie co trzeba, a jeśli ci tu nie działa to z innego powodu.
> Nie wierze w to, ze nie ma rozwiazania tego problemu no poprostu w to > nie wierze! Przecie to zupelnie nie logiczne. W starszych wersjach sie > dalo a w nowych sie nie da?
Co jest nielogiczne? Po prostu ustawiaj SET NAMES zaraz po nawiązaniu połączenia jak ci koledzy podpowiadają i nie kombinuj.
artur
RudeBoy - 11-05-2007 12:33
Artur Muszyński napisał(a):
> Co jest nielogiczne? Po prostu ustawiaj SET NAMES zaraz po nawiązaniu > połączenia jak ci koledzy podpowiadają i nie kombinuj.
No i ok tak sobie moge robic w swoich skryptach. Przezyje choc kompletnie nie rozumie czemu w nowych wersjach MySQL musze to robic a w starych nie musialem bo mogle sobie skonfigurowac kodowanie tak jak mi sie chcialo.
Ciekawe czemu proba wyszukania polskiego znaku przez phpmyadmina daje komunikat.
#1267 - Illegal mix of collations (latin2_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'like'
Czyli jak widac nic sobie phpmyadmin nie "poustawial".
RudeBoy
=?ISO-8859-2?Q?Artur_Muszy=F1ski?= - 11-05-2007 12:33
RudeBoy pisze: > Ciekawe czemu proba wyszukania polskiego znaku przez phpmyadmina daje > komunikat. > > #1267 - Illegal mix of collations (latin2_general_ci,IMPLICIT) and > (latin1_swedish_ci,COERCIBLE) for operation 'like' > > Czyli jak widac nic sobie phpmyadmin nie "poustawial".
Niepotrzebnie namieszałeś mu w ustawieniach. Zmień "MySQL connection collation" w phpMyAdminie na UTF_8_unicode_ci, powinno pomóc.
artur
=?ISO-8859-2?Q?Artur_Muszy=F1ski?= - 11-05-2007 12:33
RudeBoy pisze: > No i ok tak sobie moge robic w swoich skryptach. Przezyje choc > kompletnie nie rozumie czemu w nowych wersjach MySQL musze to robic a w > starych nie musialem bo mogle sobie skonfigurowac kodowanie tak jak mi > sie chcialo.
W starym ustawienie było globalne dla całego serwera, w nowym możesz mieć osobne ustawienia dla klienta oraz bazy/tabeli/kolumny. Ja od jakiegoś czasu używam wyłącznie UTF-8 i to ustawiłem przy instalacji jako defaultowy charset, a w klientach też zazwyczaj mam UTF-8, ale i tak zawsze ustawiam przy połączeniu, dzięki temu unikam niespodzianek przy przenosinach. http://dev.mysql.com/doc/refman/5.0/...onnection.html czytałeś oczywiście? Tam coś piszą na temat defaultowych ustawień, może się doczytasz.
artur
RudeBoy - 11-05-2007 12:33
Artur Muszyński napisał(a):
> http://dev.mysql.com/doc/refman/5.0/...onnection.html > czytałeś oczywiście? Tam coś piszą na temat defaultowych ustawień, może > się doczytasz.
Czytam po raz kolejny dokladnie. I iwiem juz ze jak bym sobie przekompilowal mysqla to bym mial to co chce :D moze o tym pomysle :)
RudeBoy
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.ploefg.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 |
|