Dipende da cosa ti serve.
Il utf8_bin
confronto confronta le stringhe in base esclusivamente al loro punto di codice
valori. Se tutti i punti di codice hanno gli stessi valori, le stringhe sono uguali. Tuttavia, questo va in pezzi quando si hanno stringhe con composizione diversa per la combinazione di segni (composti e scomposti) o caratteri che sono canonicamente equivalenti ma non hanno lo stesso valore del punto di codice. In alcuni casi, utilizzando utf8_bin
risulterà in stringhe non corrispondenti quando previsto. Teoricamente, utf8_bin
è il più veloce perché alle stringhe non viene applicata alcuna normalizzazione Unicode, ma potrebbe non essere ciò che desideri.
utf8_general_ci
applica la normalizzazione Unicode utilizzando regole specifiche della lingua e confronta le stringhe senza distinzione tra maiuscole e minuscole. utf8_general_cs
fa lo stesso, ma confronta le stringhe con distinzione tra maiuscole e minuscole.