Jump to content

Changement encodage de base de donnée


sparh
Go to solution Solved by Dan,

Recommended Posts

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

Link to comment
Share on other sites

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 !  ;)

 

 

 

Link to comment
Share on other sites

  • Solution

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 !

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...