Você na verdade tem pelo menos 2 opções de collations para usar a codificação UTF-8 em bancos de dados que podem muito bem variar de acordo com as necessidades:
A diferença básica entre ambos collations é que nas comparações do utf8_general_ci todos os caracteres acentuados são substituídos pelos respectivos caracteres não-acentuados. Isto é:
- utf8_general_ci: compara strings usando regras gerais de linguagem com comparação de caso-insensitivo (padrão)
- utf8_unicode_ci: compara strings usando a tabela DUCET (Default Unicode Collation Element Table) do padrão Unicode
ã
se transforma ema
,ü
se transforma emu
e por aí vai. E é justamente por isto que ele é menos preciso. No caso do caractereß
, por exemplo, ele será convertido paras
- eis o problema: a conversão se dá por um único caractere.
No utf8_unicode_ci, este caractereß
por exemplo será comparado comoss
, o que é o correto; dentre outros casos. Eis o motivo dele ser mais preciso. E é justamente pelo motivo dele trabalhar com uma tabela de substituições que o torna mais lento (nada muito significante, mas enfim...).
De modo geral, você deve usar utf8_general_ci por ele ser mais rápido e utf8_unicode_ci por ele ser mais preciso. A decisão fica por tua conta: performance ou precisão.
[]’s
Fala Paulo!
Boa ideia essa sua tbm!! Vou ver com o analista aki se ele topa, mas acho q vai sim.
Vlw a todos os que ajudaram aí!!!
Futuramente serei eu q vou ajudar o povo (se eu entender alguma coisa né? XD)!!!
Flw!!!