ASP.NET, C#, database MySQL e i caratteri cirillici in russo

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-Typecontent=”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.

https://www.desdinova.it
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)
Daniele Ferla
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)

Must Read