2011-03-24 3 views
0

J'ai des tables mysql avec encodage utf8. Le Data Backend et phpmyadmin sont également définis sur utf8.mysql mauvais encodage de connexion

Mais quelque chose s'est mal passé et on m'a dit que la connexion était mal réglée. Il est facile de corriger, mais le problème est que maintenant toute la base de données est dans le mauvais code et si je corrige la connexion, les données erronées seront affichées dans le backend. Quel serait le moyen le plus simple de "convertir" tous les champs de toutes les tables? J'aurais écrit un script qui court sur toutes les tables et tous les champs avec quelque chose comme utf8_decode/encoder, mais j'aimerais savoir s'il y a une meilleure façon?

Répondre

1

Si vous avez, par exemple, é au lieu de é dans votre DB, vous pouvez effectuer les opérations suivantes

  • Exporter à l'aide mysqldump
  • Exécuter un script PHP faire utf8_encode(file_get_contents('dump_file.sql')) et la sortie à une décharge codé correctement fichier
  • Importer ce nouveau fichier en utilisant mysql

Je suppose que ther Il pourrait y avoir des moyens plus intelligents mais j'espère que cela aidera.

+0

peut-être il y a mais si je ne les connais pas .. cela ne m'aide pas;) Votre solution est meilleure que la mienne je pense, donc merci :) – Flo