giovedì 19 gennaio 2012

mysql e lettere accentate...

Problemi di database di tutti i giorni, o quasi...
scrivo è in un sito e nel db mi trovo "è", sul sito mi ritrovo correttamente è, ma cercando di ripristinare il backup del DB su altro pc impazzisce tutto.. aiut.

cerca qui, cerca li trovo un articolo interessante: http://forums.mysql.com/read.php?103,164542,182402#msg-182402

Riassumendo: se cerchiamo "è" nella tabella caratteri iso 8859 (standard latin1 usato da mysql) troviamo che viene codificato come 00E8. Nella tabella UTF8 invece viene codificato come C3 A8. Tornando alla tabella latin1 troviamo che C3 è la codifica latin1 di Ã mentre E8 è uguale, chi l'avrebbe mai detto, a ¨.

Quindi appurato che il nostro db salva una codifica unicode a 2 byte e in esportazione scrive due caratteri latin1 da 1 byte.. ora c'è da capire come risolvere, ma è un bel passettino avanti.