Зависи от какво имате нужда.
utf8_bin
съпоставянето сравнява низове въз основа само на техния Unicode кодова точка
стойности. Ако всички кодови точки имат еднакви стойности, тогава низовете са равни. Това обаче се разпада, когато имате низове с различен състав за комбиниране на знаци (композиран срещу декомпозиран) или знаци, които са канонично еквивалентни, но нямат една и съща стойност на кодовата точка. В някои случаи се използва utf8_bin
ще доведе до несъвпадение на низовете, когато очаквате. Теоретично, utf8_bin
е най-бързият, защото не се прилага нормализиране на Unicode към низовете, но може да не е това, което искате.
utf8_general_ci
прилага нормализиране на Unicode, използвайки специфични за езика правила и сравнява низовете без значение на малките букви. utf8_general_cs
прави същото, но сравнява низовете според главните букви.