Aller au contenu

Changement encodage de base de donnée


Aller à la solution Solutionné par Dan,

Sujets conseillés

Posté

Bonjour,

j'ai de temps en temps des erreurs du type 
 

ncaught mysqli_sql_exception: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb3_general_ci,COERCIBLE) for operation 'like'

 

Je me demande donc si je pouvez passer toutes mes tabls en utf8 et si il y a un risque (pour l'instant elle sont en latin1_swedish_ci

 

Est ce risqué de faire 

ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8mb4_unicode_ci;

 

Merci

Posté

Bonjour,

 

Ce que tu suggères ne change le caractère par défaut que pour les nouvelles tables.

Tu devrais aussi convertir tes tables.

 

Je ferais donc ceci :
 

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

Assure-toi tout de même de lancer une sauvegarde avant !

 

Le plus simple est d'utiliser HeidiSQL  qui est un outil gratuit et performant !  Sans oublier de sauvegarder avant !  ;)

 

 

 

  • Solution
Posté

Si tu utilises HeidiSQL , assure-toi de créer un user root pour ton IP, commenter la ligne bind-address du fichier /etc/my.cnf et relancer mysql ensuite !

Dans le cas contraire, Heidi refusera la connexion !

 

Tu peux afficher le compte root, copier :
 

GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*******' WITH GRANT OPTION;
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION;

changer simplement les 2 localhost par l'ip de ton poste de travail, sélectionner la base mysql et lancer cela dans l'onglet SQL

 

Ensuite, tu lances HeidiSQL, crée une session, menu outils, éditeur global de table... là c'est le plus simple !

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...