MySql nie rozróżnia polskich liter mimo ustawionego UTF-8

0

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 'Ź%';

workbench.PNG

0

Tabela ma ustawione poprawne kodowanie?

0

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.

0

Też ma.

taak.PNG

A na stronie sprawdziłem dla innej bazy i jest ok:
postresql.png

MySql jest problem, ale tu niby nie ustawiałem utf-8, ale lokalnie u siebie na kompie tak.
MySqlProblem.jpg

0
gcmarcin napisał(a):

Też ma.

Tak?
d27f58da285f40e7829d55d8fea95ecb.png

Default collation dla tabeli swoją drogą, ale collation dla konkretnej kolumny jest ważniejsze, o ile jest ustawione.

0

@damonsson jak klikam dla kolumny autor żeby zmieniło na polish_ci, to pisze nie wykryto zmian.
niedziala.jpg

1

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1