Salve a tutti!

spero che qualcuno possa risolvere il seguente problema:

ho una form di registrazione da cui vengono inviati i classici dati per registrarsi.

Questi dati vengono poi inseriti nel database e inviati come promemoria all'utente.

Facendo delle prove con alfabeti diversi dal nostro, ad esempio con quello turco, o cirillico, ho notato una cosa che non funziona. In pratica io inserisco il nome con il carattere proprio di quell'alfabeto , ad esempio "Şahin", ma sia la mail che il nome visualizzato sul browser risultano strani, con l'aggiunta di un &amp che non c'entra nulla e che sfasa quindi la visualizzazione, inviando all'utente una mail con il nome sballato e visualizzandone uno altrettanto sballato.

Sicuramente è un problema di codifica all'interno del database, visto che è al momento dell'inserimento nel DB che viene aggiunta questa codifica alla & inaspettata.

Ma volevo sapere come comportarmi! nel database ho impostato

Set di caratteri MySql: UTF-8 Unicode (utf8)
collazione della connessione di MySql utf8_unicode_ci

Nell'header è impostato iso-8859-1 (ma anche mettendo utf8 non è cambiato nulla)

poi però, ed è qui che si concentra il mio dubbio, ogni tabella ha come codifica "latin1_swedish_ci" e la stessa "latin1_swedish_ci" c'è per tutti i campi testuali di ogni tabella

E' questo il motivo della mancata codifica corretta? Se modifico questi campi in utf8_unicode_ci che può succedere ai record già presenti nel database essendo questo già molto popolato..? C'è il rischio che subiscano modifiche "pericolose"?


grazie in anticipo per le delucidazioni