MySql -change DB, tabelle a utf8
Domanda
In /etc/my.cnf the following has been added
character-set-server=utf8
collation-server=utf8_general_ci
Ma per il database e le tabelle create prima di aggiungere quanto sopra come convertire il database e le tabelle per utf8 con collazione impostazioni
Soluzione
Bene, il set di caratteri del database e il carattere set tavolo sono solo valori di default (non influenzano nulla direttamente). Avresti bisogno di modificare ogni colonna per il corretto set di caratteri. PHPMyAdmin farà questo per voi (basta modificare la colonna, quindi modificare il set di caratteri). Se si vuole fare SQL prime, è necessario conoscere la definizione di colonna (SHOW CREATE TABLE foo
vi mostrerà la definizione). Quindi, è possibile utilizzare ALTER TABLE
di cambiare la definizione .
Per cambiare il set di caratteri di default per una tabella:
ALTER TABLE `tablename` DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
Per cambiare il set di caratteri di una colonna con la definizione `foo VARCHAR (128) CARATTERI SET 'pippo' COLLATE 'foo'``:
ALTER TABLE `tablename` MODIFY
`foo` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
Altri suggerimenti
E
http://www.mysqlperformanceblog.com/2009/ 17/03 / convertire-character-set /