Záleží na tom, co potřebujete.
utf8_bin
řazení porovnává řetězce čistě na základě jejich Unicode bod kódu
hodnoty. Pokud mají všechny body kódu stejné hodnoty, pak jsou řetězce stejné. To se však rozpadá, když máte řetězce s různým složením pro kombinování značek (složené vs. dekomponované) nebo znaky, které jsou kanonicky ekvivalentní, ale nemají stejnou bodovou hodnotu kódu. V některých případech pomocí utf8_bin
povede k tomu, že se řetězce nebudou shodovat, když to očekáváte. Teoreticky utf8_bin
je nejrychlejší, protože na řetězce není aplikována žádná normalizace Unicode, ale nemusí to být to, co chcete.
utf8_general_ci
používá normalizaci Unicode pomocí pravidel specifických pro daný jazyk a porovnává řetězce bez ohledu na velikost písmen. utf8_general_cs
dělá totéž, ale porovnává řetězce s rozlišením velkých a malých písmen.