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

È stato utile?

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

https: // serverfault

.com / domande / 65043 / all-colonne-a-tutti-tavole-in-mysql alter-charset-e-raccolta-in-

E

http://www.mysqlperformanceblog.com/2009/ 17/03 / convertire-character-set /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top