Configurare MySql server per una completa gestione di UTF8 

Tratto da: https://mathiasbynens.be/notes/mysql-utf8mb4#character-sets

 

Per ovviare agli errori del tipo: "Incorrect string value: '\xF0\x9D\x8C\x86' for column...." che possono capitare durante una query di tipo INSERT INTO, conviene confugurare in My.ini (Windows) o My.cnf (Linux) nel con i seguenti parametri:

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

 

Inoltre vanno modificati database, tabelle e colonne per utilizzare come default collation: utf8mb4_unicode_ci e come characterset utf8mb4

Per il database è possibile farlo tramite la seguenti query: 
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
 

Per le tabelle e i campi, è più comodo farlo da un tool quale ad esempio HeidiSQL

Se le tabelle contengono dati, è necessario fare poi un Repair Table e un Optimize Table

 

Tutti i dettagli e la procedura corretta sono riportati nella pagina: https://mathiasbynens.be/notes/mysql-utf8mb4#character-sets


 

Questo è un badge Flickr che mostra le foto pubbliche e/o i video di scuderip. Crea il tuo badge qui.