In siti web sviluppato in multilingua può capitare di doversi imbattere in caratteri di scrittura speciali come il russo, il cinese e l’arabo.
Di base MySQL utilizza come collation il “latin” che non prevede caratteri speciali; è per questo motivo che si rende necessario cambiare tali valori di default per il salvataggio dei dati, pena il trovarsi i dati scritti con dei punti di domanda “????????”.
Di seguito i passi per modificare la collation di un database MySQL già esistente e renderlo compatibili con carattere speciali di alcune lingue straniere.
- Inserire nella stringa di connessione nel web.config il parametro “charset=utf8;” quindi risulterà un stringa simile a “server=localhost;port=3306;database=xxx;password=xxxx;charset=utf8;”
- Impostare la collation della tabella su “utf8 – utf8_unicode_ci”
- Inserire nella pagina html in cui si inseriscono i dati nelle textbox il meta <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />
- Eseguire il comando (tramite script mysql) seguente, “alter table database_name.table_name convert to character set utf8 collate utf8_unicode_ci;”
Ora dovrebbe essere tutto pronto per salvare i dati con caratteri speciali.
Si consiglia sempre, ovviamente, di eseguire un backup del databasa prima di operare sulle tabelle.