In MySQL, quale fascicolazione dovrei scegliere?
Domanda
Quando creo un nuovo database MySQL tramite phpMyAdmin, ho la possibilità di scegliere le regole di confronto (ad es. default, armscii8, ascii, ... e UTF-8). Quello che conosco è UTF-8, poiché lo vedo sempre nel codice sorgente HTML. Ma qual è il confronto predefinito? Quali sono le differenze tra queste scelte e quale dovrei usare?
Soluzione
Le regole di confronto non sono in realtà quelle predefinite, ma ti offrono le regole di confronto predefinite come prima scelta.
Di cosa stiamo parlando è collation o il set di caratteri che il database utilizzerà nei suoi tipi di testo. L'opzione predefinita di solito si basa su impostazioni internazionali, quindi a meno che non si preveda di globalizzarsi, questo è di solito appassionato.
Le regole di confronto determinano anche la sensibilità di maiuscole e minuscole (ovvero: "Grande" == "Grande"? Con un elemento della configurazione lo è). Consulta Elenco MySQL per tutte le opzioni.
Altri suggerimenti
Le regole di confronto indicano al database come eseguire la corrispondenza e l'ordinamento delle stringhe. Dovrebbe corrispondere al tuo set di caratteri.
Se usi UTF-8, le regole di confronto dovrebbero essere utf8_general_ci. Questo ordinerà in ordine Unicode (senza distinzione tra maiuscole e minuscole) e funziona per la maggior parte delle lingue. Conserva anche l'ordine ASCII e Latin1.
Le regole di confronto predefinite sono normalmente latine1.