MySQL ingin mengonversi string saat melakukan INSERT dan SELECT . Konversi adalah antara apa yang Anda nyatakan sebagai klien untuk memiliki dan apa kolom dideklarasikan untuk disimpan.
Satu-satunya cara untuk menghindarinya adalah dengan VARBINARY dan BLOB bukannya VARCHAR dan TEXT .
Penggunaan COLLATION utf8mb4_bin tidak menghindari konversi ke/dari CHARACTER SET utf8mb4; itu hanya mengatakan bahwa WHERE dan ORDER BY harus membandingkan bit alih-alih berurusan dengan aksen dan pelipatan huruf.
Ingatlah bahwa CHARACTER SET utf8mb4 adalah cara untuk mengkodekan teks; COLLATION utf8mb4_* adalah aturan untuk membandingkan teks dalam pengkodean itu. _bin berpikiran sederhana.
UNIQUE melibatkan membandingkan kesetaraan, maka COLLATION . Di sebagian besar susunan utf8mb4, 3 (tanpa spasi) akan sebanding. utf8mb4_bin akan memperlakukan 3 sebagai berbeda. utf8mb4_hungarian_ci memperlakukan satu=Satu>öne.
Spasi tambahan dikendalikan oleh tipe data kolom (VARCHAR atau yang lainnya). Versi terbaru bahkan memiliki pengaturan yang berkaitan dengan apakah akan mempertimbangkan spasi tambahan.