ďťż
 
[mysql] sortowanie polskich znakow, prawidlowe -- jak? ďťż
 
[mysql] sortowanie polskich znakow, prawidlowe -- jak?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[mysql] sortowanie polskich znakow, prawidlowe -- jak?



Maciej Pilichowski - 12-11-2006 01:33
[mysql] sortowanie polskich znakow, prawidlowe -- jak?
  Hej,

Wiem, ze to bylo N razy...

MySQL 5.0.24a, linux, polaczenie lokalne, klient tekstowy -- mysql.

Moge zapisywac polskie znaczki w roznych formatach, wyswietlaja sie
prawidlowo. Tu nie ma problemu. Jednak kiedy probuje sortowac teksty z
polskimi znakami wpadam w dwie nieprawidlowe sytuacje --
1 -- kiedy mam ustawiony tryb collate general polskie znaczki maja
najwieksza wage i wypadaja na koniec
2 -- kiedy mam ustawione collation polish polskie znaczki maja
najmniejsza wage i wypadaja na sam poczatek listy

Wniosek z tego taki, ze polskie znaki, ktore wysylam do zapisu w bazie
nie sa traktowane jako polskie. Sprobowalem rzecz poprawic i wymusic
ustawienia klienta na sztywno -- jak wydaje mi sie odpowiada za to
hanshake

[client]
character-set = latin2

[mysql]
character-set = latin2

[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_polish_ci

Ale teraz mam juz krzaki, a nie polskie znaki. Pisalem to przy
zalozeniu, ze wejscie mam zapisane w ISO-8859-2, nie chce zeby klient
cokolwiek ustalal, bo locale systemowe mam ustawione jako US, co do
serwera to w zasadzie obojetnie czy bedzie to latin2 czy utf8, byleby
dzialalo i poprawnie sortowalo.

Jak na razie stoje w punkcie, ze jesli ustawie, ze dane do klienta
wplywaja w latin2 --> mam krzaki. Jesli w latin1, czyli zdjety skip
handshake'a --> widze polskie literki, ale nie moge ich sortowac.

Za wszelkie podpowiedzi bede wdzieczny.

milego dnia zycze
hej

--
Maciej "MACiAS" Pilichowski http://bantu.fm.interia.pl/





Maciej Pilichowski - 12-11-2006 01:33

  On Sun, 01 Oct 2006 10:49:54 +0200, Maciej Pilichowski
<bantu@SKASUJTOpoczta.FM> wrote:

Czesciowo sam sobie odpowiem -- problem w tym, chyba???, ze ustawienia
ogolne takie jak podalem powyzej nie maja wplywu na zmiene mysql
show variables;

a tych z kolei mimo, ze dokumentacja wskazuje jak mozna zmienic, nie
udaje mi sie tego zrobic -- niezaleznie od tego czy z linii polecen,
czy pliku konf.

Np.
/etc/rc.d/mysql start --character_set_client='latin2'
/etc/rc.d/mysql start --character_set_client=latin2
/etc/rc.d/mysql start --character-set-client='latin2'
/etc/rc.d/mysql start --character-set-client=latin2

Nic go nie rusza i mam latin1. Podobny problem jest z reszta
zmiennych.

milego dnia zycze
hej
--
Maciej "MACiAS" Pilichowski http://bantu.fm.interia.pl/




Maciej Pilichowski - 12-11-2006 01:33

  On Sun, 01 Oct 2006 10:49:54 +0200, Maciej Pilichowski
<bantu@SKASUJTOpoczta.FM> wrote:

Nie ma to jak grupowicz, z rana zada pytanie, a do poludnia rozwiaze
problem *smile* Ale moze sie komus przyda...

Wszystko rozbilo sie o
drop database xxx;
create database xxx;

Albo o silowe wymuszenie kodowania dla kazdej tabeli, ale tego wlasnie
chcialem uniknac.

milego dnia, hej
--
Maciej "MACiAS" Pilichowski http://bantu.fm.interia.pl/




Rafal - 13-11-2006 00:15

  przerobilem ten temat i sie da:
--------------------------------
konfiguracje MySQL ustaw na UTF8, np. tak:
[mysqld]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_polish_ci
character-sets-dir=/usr/share/mysql/charsets
[client]
default-character-set=utf8
character-sets-dir=/usr/share/mysql/charsets
[mysql]
default-character-set=utf8
character-sets-dir=/usr/share/mysql/charsets
[mysqlcheck]
default-character-set=utf8
character-sets-dir=/usr/share/mysql/charsets
[mysqldump]
default-character-set=utf8
character-sets-dir=/usr/share/mysql/charsets

-----------------------------

dopiero po zresetowaniu serwera MySQL utworz baze W UTF8 i tabele w UTF8

-----------------------------
jak laczysz sie za MySQL przez PHP to zaraz po polaczeniu odpalaj funkje:
mysql_query("SET CHARACTER SET utf8;");
bo jak nie to serwer z jakiegos dziwnego powodu ustawi kodowanie klienta na
latin1
i polskich znaczkow nie bedziesz mial

pozdrawiam





Rafal - 13-11-2006 00:15

  acha, sortowanie np. tak:

SELECT * FROM tabela WHERE jakis_warunek ORDER BY nazwisko COLLATE
utf8_polish_ci;
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • quentinho.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com