MySQL chce konvertovat řetězce při provádění INSERT a SELECT . Konverze je mezi tím, co deklarujete jako klient mít a co sloupec je deklarováno jako úložiště.
Jediný způsob, jak se tomu vyhnout, je pomocí VARBINARY a BLOB místo VARCHAR a TEXT .
Použití COLLATION utf8mb4_bin nevyhýbá se převodu do/z CHARACTER SET utf8mb4; pouze říká, že WHERE a ORDER BY měli porovnávat bity místo toho, aby se zabývali akcenty a skládáním pouzdra.
Mějte na paměti, že CHARACTER SET utf8mb4 je způsob kódování textu; COLLATION utf8mb4_* jsou pravidla pro porovnávání textů v tomto kódování. _bin je prostoduchý.
UNIQUE zahrnuje srovnání pro rovnost, proto COLLATION . Ve většině porovnávání utf8mb4 se 3 (bez mezer) budou porovnávat stejně. utf8mb4_bin bude považovat 3 za odlišné. utf8mb4_hungarian_ci léčí jeden=Jeden>öne.
Koncové mezery jsou řízeny datovým typem sloupce (VARCHAR nebo jiný). Nejnovější verze má dokonce nastavení týkající se toho, zda uvažovat o koncových mezerách.