Question

Je l'ai transféré une grande base de données de phpbb3 à partir d'une base de données latin1 à une utf-8 Tout est bien passé, maintenant je dois changer les caractères « étranges » dans la base de données. Hier, j'ai trouvé une méthode qui a fonctionné, maintenant, je ne trouve plus, j'ai essayé:

update phpbb_topics set topic_title = replace(topic_title, 'Ã', 'à');
update phpbb_topics set topic_title = replace(topic_title, 'è', 'è');

En fait, je dois changer tous les personnages à dans le champ de la table à uN et ainsi de suite.

Comment pouvez-vous faire?

Merci

Était-ce utile?

La solution

mise à jour phpbb_topics définir TOPIC_TITLE = remplacer (remplacer (TOPIC_TITLE, 'A', 'e'), 'A', 'A');

Vous devriez vous répondre aux questions suivantes:

  • les données binaires sont stockées dans la base de données (fonction utilisation ascii () ou SELECT ... INTO DUMPFILE)
  • les données binaires sont envoyées au client (il est pas toujours la même que celle stockée)
  • comment votre client affiche des données binaires reçues? (Essayer différents clients et différentes options)

Autres conseils

Je le vider dans un fichier sql, puis remplacer les caractères avec sed ou un éditeur de texte (si le fichier est pas grand). Après que vous exécutez à nouveau le script. Peut-être il y a une façon de le faire dans la base de données directement, mais je ne sais pas.

Le problème de ma solution est que son pas atomique. Les modifications apportées à la db entre la décharge et la réinsertion sont perdus.

Salutations Raffael

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top