jureczek Napisano Sierpień 21, 2006 Zgłoszenie Share Napisano Sierpień 21, 2006 Zainstalowałem i uruchomiłem na FC5 Apacha z PHP i Mysql. Wszystko hula przyzwoicie z małym wyjątkiem. Otóż po zapisie do tabeli w bazie danych i sortowaniu polskie znaczki (np. Ś, Ł) lądują w kolejności po W, czyli na końcu listy. Z moich poszukiwań w googlach wynika, że powinienem zmienić konfigurację Mysql (/etc/my.cnf). Próbowałem różnych opcji - rezultat jest taki, że wspomniane znaczki podczas sortowania i tak lądują nie tam gdzie trzeba. Ten sam skrypcik uruchomiony na komercyjnym serwerku działa jak trzeba. Może ktoś ma pomysł jak do tego podejść i rozwiązać mój problemik? Będę wdzięczny za wszelkie sugestie! Mój my.cnf po (wielu) zmianach: [client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=latin2 character-sets-dir=/usr/share/mysql/charsets # The MySQL server [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer = 16K max_allowed_packet = 1M table_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 64K default-character-set=latin2 default-collation=latin2_general_ci character-sets-dir=/usr/share/mysql/charsets init-connect="SET NAMES latin2" language = /usr/share/mysql/polish/ # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (using the "enable-named-pipe" option) will render mysqld useless! # #skip-networking server-id = 1 [mysqldump] quick max_allowed_packet = 16M character-sets-dir = /usr/share/mysql/charsets/ default-character-set = latin2 [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates default-character-set=latin2 character-sets-dir = /usr/share/mysql/charsets/ [isamchk] key_buffer = 8M sort_buffer_size = 8M [myisamchk] key_buffer = 8M sort_buffer_size = 8M [mysqlhotcopy] interactive-timeout Mysql wer. 5.0.22 Wynik polecenia 'locale' w konsoli: LANG=pl_PL.UTF-8 LC_CTYPE="pl_PL.UTF-8" LC_NUMERIC="pl_PL.UTF-8" LC_TIME="pl_PL.UTF-8" LC_COLLATE="pl_PL.UTF-8" LC_MONETARY="pl_PL.UTF-8" LC_MESSAGES="pl_PL.UTF-8" LC_PAPER="pl_PL.UTF-8" LC_NAME="pl_PL.UTF-8" LC_ADDRESS="pl_PL.UTF-8" LC_TELEPHONE="pl_PL.UTF-8" LC_MEASUREMENT="pl_PL.UTF-8" LC_IDENTIFICATION="pl_PL.UTF-8" LC_ALL= Stronki, które realizują połączenie z bazą pisane w kodowaniu iso-8859-2 Polecenie echo mysql_client_encoding(); daje wynik 'Latin1'. Jeszcze raz z góry dziękuję za zainteresowanie tematem, pozdrawiam! Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się