E' un problema di charset e non del collate. Il collation e' solo un algoritmo che serve ad ordinare le parole secondo un determinato alfabeto. Chi puo' fare casino e' mbstring che deve essere caricata come estensione. Il default collation nostro dovrebbe essere latin_general_ci/cs dove ci e cs stanno per case insensitive e case sensitive, che sostituiscono in pratica il vecchio BINARY che si poteva associare ai campi per renderli case sensitive di default.
Dato il charset che nel nostro caso in generale e' LATIN1, tutti i collation della serie LATIN1 sono validi. Si trattera' solo di ordinare delle lettere con accenti buffi in modo diverso o case sensitive oppure no.
Le cose si complicano dal momento che ci sono 4 o anche 5 possibilita' di avere charset diversi.....
character set client
character set connection
character set database
character set results
character set server
character set system
Chiaramente se i charset sono diversi occorre trasformare i dati che si gestiscono nel charset appropriato.
ma non finsce qui....
si possono avere anche COLLATION diverse....
collation connection
collation database
collation server
piu' quella specifica della colonna
Quindi in alcuni casi WHERE pippo like 'pallino' potrebbe portare un errore dal momento che il client, la connessione, e la tabella usano un diverso set di caratteri. Mentre un ordinamento potrebbe essere diverso da quello atteso.
E' un casino.... phpmyadmin si sta adeguando pian piano... offre gia' diversi tools per gestire i campi in modo diverso, per esempio far apparire in lettura la data nel formato italico, pur mantenendo nel db la data nel formato canonico....
Il problema pero' e' che lo fa lui, ma sei vai da php devi gestire tutto come prima. Puoi anche modificare il formato nelle variabili del server.... ma poi ti cicca tutte le date preesistenti.
mysql 4.1 e' un bel passo avanti, ma hanno fatto un casino bestiale.
Vedi le pwd, il trattamento dei caratteri e il puttanaio immenso del TIME ZONE.... per ora nessuno se ne accorge... ma se se ne dovesse avere bisogno .... altro che charset...
Dai una bella chiacchierata da sabato mattino... varrebbe veramente la spesa una pillola sul charset. Il problema e' capire come farla e come riuscire a spiegarla senza usare i termini del manuale che IMHO, non capisce nemmeno chi ha scritto.
![]()

Rispondi quotando