Dans ma base de données, il y a des zones dans lesquelles les données ne sont pas lisibles. Je sais maintenant pourquoi c'est arrivé mais je ne sais pas comment le réparer.Problèmes d'encodage de caractères dans MySQL
J'ai trouvé un moyen d'obtenir l'information de retour de la base de données:
SELECT id,
name
FROM projects
WHERE LENGTH(name) != CHAR_LENGTH(name);
L'une des lignes retournées montre:
id | name
-------------------------
1008 | Cajón el Diablo
Cela devrait être:
id | name
-------------------------
1008 | Cajón el Diablo
Can Quelqu'un m'aider à comprendre comment résoudre ce problème? Comment puis-je convertir cela en utilisant SQL? SQL n'est-il pas bon? Si non, que diriez-vous de Python?
Quelle est la collation (jeu de caractères) de la colonne 'PROJECTS.name'? Un moyen facile de vérifier est d'exécuter: 'AFFICHER DES COLONNES COMPLETES DE PROJETS COMME 'name' - 'collation' devrait être la 3ème colonne. http://dev.mysql.com/doc/refman/5.1/fr/show-columns.html –
@OMG Poneys: vous voulez dire "jeu de caractères", pas "collation". L'ensemble de caractères définit comment les caractères sont représentés avec des octets, tandis que le classement définit l'ordre de tri des caractères. – Piskvor
Dans la colonne de classement, il affiche 'utf8_bin.' –