Witam,
Chce zwrócić nazwiska tylko na Ź dostaję na Z, tak samo jak chce coś na Ó dostaję na literę O. Niby dla bazy mam ustawiony utf-8. System na którym stoi baza to Windows.
SELECT * FROM rsds_data_temp.autorzy where nazwisko like 'Ź%';
Witam,
Chce zwrócić nazwiska tylko na Ź dostaję na Z, tak samo jak chce coś na Ó dostaję na literę O. Niby dla bazy mam ustawiony utf-8. System na którym stoi baza to Windows.
SELECT * FROM rsds_data_temp.autorzy where nazwisko like 'Ź%';
Tabela ma ustawione poprawne kodowanie?
Bo dla utf8 porównywanie jest domyślnie ustawiane na utf8_general_ci, gdzie ź = ż = z. Musisz doprecyzować **COLLATE ** jako utf8_bin albo utf8_polish_ci.
Też ma.
A na stronie sprawdziłem dla innej bazy i jest ok:
MySql jest problem, ale tu niby nie ustawiałem utf-8, ale lokalnie u siebie na kompie tak.
gcmarcin napisał(a):
Też ma.
Tak?
Default collation dla tabeli swoją drogą, ale collation dla konkretnej kolumny jest ważniejsze, o ile jest ustawione.
@damonsson jak klikam dla kolumny autor żeby zmieniło na polish_ci, to pisze nie wykryto zmian.
Spróbuj jeszcze ustawić collation na utf8_bin. Sytuacja bardzo dziwna, jeśli nie działa. Nic więcej tutaj nie możesz już poprawić. W teorii to musi działać poprawnie. Odpalasz zapytania z MySQL Workbench? Może ten klient Ci psuje wyniki?
Tutaj masz swój przykład z sqlfiddle z ustawionym COLLATE dla MySQL i jest wszystko ok: http://sqlfiddle.com/#!9/dedae6/1/0