196 votes

Modifier le classement de la base de données

Notre programmeur précédent a placé le mauvais classement dans une table (Mysql). Il l'a mis en place avec une collation en latin, alors que ça devrait être UTF8, et maintenant j'ai des problèmes. Tous les disques avec des caractères chinois et japonais se tournent vers ??? personnage.

Est-il possible de changer de classement et de récupérer les détails du personnage?

401voto

Timo Huovinen Points 8283

changement de classement de base de données:

ALTER DATABASE <database_name> CHARACTER SET utf8 COLLATE utf8_unicode_ci;

table de changement de classement:

ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8;

modifier le classement de colonne:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Plus d'infos:

4voto

MJB Points 5096

Ici décrit bien le processus. Cependant, certains des personnages qui ne correspondaient pas à l'espace latin ont disparu pour toujours. UTF-8 est un SUPERSET en latin1. Pas l'inverse. La plupart vont tenir dans un seul octet, mais pas les indéfinis (vérifiez la liste de latin1 - tous les 256 caractères ne sont pas définis, cela dépend de la définition de mysql en latin1)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X