Per esempio, questo è l'ordine che un 'ordinare per nome' standard di interrogazione sta tornando:Come posso controllare l'ordinamento UTF-8 in MySQL?
name
------
Cebbb
Čebbc
Cebbd
mi piacerebbe ordinare per nome e ottenere il carattere accentato prima, raggruppati con altri caratteri accentati , per esempio
name
------
Čebbc
Cebbb
Cebbd
Per impostazione predefinita, MySql tratta i Č
come se fosse C
, a fini di smistamento, e specie nell'ordine indicato.
In alternativa, c'è un modo, in PHP, che posso 'convertire' Č
in C
, a scopo di confronto?
Quando si dice "corretto", ciò include utf8_general_ci? Questo è ciò che la tabella e la colonna sono già specificate, e non sarà incredibilmente facile cambiarlo, dal momento che il database non è "mio" (è fornito da joomla) –
"Corretto" dipende dalla lingua. Ci sono diverse regole quando si ordina il testo. Se 'utf8_spanish_ci' è il tuo attuale confronto, qual è il tuo problema esatto? Non vuoi le moderne regole spagnole o non le ottieni? –
Ah - Vedo il problema. Stai dicendo che Č è un personaggio spagnolo? In questo contesto, in realtà non è (o non viene utilizzato in spagnolo), ma - spero - questo non è rilevante. Ci sarà un sacco di personaggi di diverse lingue. Se è assurdo provare a trattare Č come C, allora sono felice * non *, ma questo ritorna al problema originale che MySQL * sta * trattandoli come uguali. –