MySQL иска да конвертира низове, когато прави INSERT и SELECT . Преобразуването е между това, което декларирате за клиент да има и какво е колона е обявено за съхранение.
Единственият начин да избегнете това е с VARBINARY и BLOB вместо VARCHAR и TEXT .
Използването на COLLATION utf8mb4_bin не избягва преобразуването към/от CHARACTER SET utf8mb4; той просто казва, че WHERE и ORDER BY трябва да сравнява битовете, вместо да се занимава с акценти и сгъване на главни букви.
Имайте предвид, че CHARACTER SET utf8mb4 е начин за кодиране на текст; COLLATION utf8mb4_* е правила за сравняване на текстове в това кодиране. _bin е простодушен.
UNIQUE включва сравняване за равенство, следователно COLLATION . В повечето съпоставяния utf8mb4 3 (без интервали) ще се сравняват равни. utf8mb4_bin ще третира 3-те като различни. utf8mb4_hungarian_ci третира one=One>öne.
Крайните интервали се контролират от типа данни на колоната (VARCHAR или друго). Най-новата версия дори има настройка, свързана с това дали да се обмислят крайни интервали.