Ciąg znaków w MySQL ma zestaw znaków i sortowanie . Utf8 to zestaw znaków, a utf8_bin jest jednym z jego zestawień. Aby porównać literał ciągu z kolumną utf8, przekonwertuj go na utf8, poprzedzając go notacją _charset:
_utf8 'Something'
Teraz sortowanie jest ważne tylko dla niektórych zestawów znaków. Wielkość liter wrażliwa porównywanie dla utf8 wygląda na utf8_bin, które można określić w następujący sposób:
_utf8 'Something' collate utf8_bin
W przypadku tych konwersji zapytanie powinno działać:
select * from page where pageTitle = _utf8 'Something' collate utf8_bin
Prefiks _charset działa z literałami łańcuchowymi. Aby zmienić zestaw znaków pola, jest CONVERT ... USING. Jest to przydatne, gdy chcesz przekonwertować pole pageTitle na inny zestaw znaków, na przykład:
select * from page
where convert(pageTitle using latin1) collate latin1_general_cs = 'Something'
Aby zobaczyć znak i sortowanie kolumny o nazwie „col” w tabeli o nazwie „TAB”, spróbuj:
select distinct collation(col), charset(col) from TAB
Listę wszystkich zestawów znaków i zestawień można znaleźć w:
show character set
show collation
Wszystkie poprawne sortowania dla utf8 można znaleźć za pomocą:
show collation where charset = 'utf8'