Originariamente inviato da oly1982
k.b
scusami ancora...
ma se io uso mysql_real_escape_string con il secondo parametro l'handle della connessione non mi converte i caratteri secondo lo charset del db? (utilizzando latin1 nn sono sicuro di questa cosa...)
No, il problema e' un po' diverso. Il punto e' che il sistema non puo' sapere con che codifica sono processati i dati che gli invii.

Per dire, il carattere "à" in latin1 e' codificato "e0", mentre in utf8 e' codificato "c3a0". Ora quando tu scrivi "à" questo verra' trasformato in uno o nell'altro codice esadecimale a seconda della codifica scelta, pero' poi quello che viene trasmesso e' il codice, non il carattere. Quindi se mysql_real_escape_string() riceve "c3a0" ma a lei e' stato detto di lavorare in latin1, allora registrera' quello che in latin1 equivale a "c3a0" cioe' probabilmente una porcheria che non c'entra niente con una a accentata, questo perche' alla funzione non arrivano informazioni riguardo la codifica originale, ed e' per questo quindi che e' importante che tutte le varie parti dell'applicazione concordino sulla codifica utilizzata.