Strona 1 z 1

MySQL kodowanie znaków

: 09 lutego 2008, 12:47
autor: daarioo
Witam.

Mam pewien problem z MySQL. Otóż na stronach internetowy, które korzystają z bazy MySQL na moim serwerze nie ma polskich znaków. Wyświetlają się jedynie znaki zapytania... Dość dużo czasu spędziłem na szukaniu po internecie co jest nie tak. A więc ustawiłem już to:
  • w pliku /etc/apache2/conf.d/charset mam

    Kod: Zaznacz cały

    AddDefaultCharset ISO-8859-2
  • w pliku /etc/php5/apache2/php.ini mam

    Kod: Zaznacz cały

    default_charset="iso-8859-2"
  • metody porównywania znaków w bazie mam ustawione na latin2_general_ci
  • w plikach *.php mam ustawione kodowanie na iso-8859-2
  • przy logowaniu do PhpMyAdmina ustawiam kodowanie na iso-8859-2
  • system porównań dla połączenia MySQL mam ustawiony na latin2_general_ci
  • według PhpMyAdmin'a jedynie to jest ustawione inaczej: System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
Czy mógłby mi ktoś powiedzieć dlaczego nadal nie mam (epitety) polskich znaków diakrytycznych!? Walczę już z tym dobry dzień i nadal nic...

P.S.
wersja PhpMyAdmin'a: 2.9.1.1
wersja MySQL: 5.0.32-7et
wersja apache: 2.2.3-4

: 10 lutego 2008, 23:01
autor: Outlaw
Spróbuj po połączeniu z bazą danych wykonać polecenie:
"set charset latin2;"

W php:

Kod: Zaznacz cały

mysql_query( "set charset latin2" );
kodowanie oczywiście możesz zmienić.

: 11 lutego 2008, 18:39
autor: daarioo
Nie wiem czemu... ale tak się dzieje tylko jak się łączę jako root z bazą... Każdym nowym użytkownikiem mam polskie znaki... Any ideas?

: 17 lutego 2008, 15:15
autor: Stawi
Tak jak powiedzial Outlaw, lub w przypadku MySQL 5+ lepiej zrobic:

Kod: Zaznacz cały

mysql_query('SET NAMES latin2'); // czy jakie tam inne kodowanie potrzebujesz.
Moze przy laczeniu sie jako root masz inne kodowanie. Lub jesli laczyc sie jako root przez klienta tekstowego (nie phpmyadmin) to wazne jest jakie masz kodowanie konsoli.

: 23 lutego 2008, 04:56
autor: daarioo
W konsoli utf-8. Ale ja wykonuję polecenia na phpMyAdminie. Jak już wszystko co można było w phpMyAdminie poustawiać na latin2 i po dołączeniu do kodu linii

Kod: Zaznacz cały

mysql_query('SET NAMES latin2');
stwierdzam że działa.

Dzięki za pomoc