J'ai un soucis d'encodage dans une base de données MySql, elle est indiqué comme étant en utf-8 mais à l'intérieur, j'ai des caractères comme "é". Par exemple :
"J\'avais déjà commencé ce cours..."
J'ai remarqué que quand je faisais des "replace" sur mon chaîne de caractère avec :
texte = texte.replace(u'\u00C3\u00A9',u'é')
ou
texte = texte.replace(u'\u00C3\u00A9',u'\uC3A9')
Cela permettait de corriger le problème... Mais il faut mettre autant de replace que de caractère et si j'oublie un caractère, ça ne fonctionne pas (donc je passe mon temps à executer mon code, chercher s'il reste des caractères qui n'ont pas été converti et recommencer)
Mais je voulais savoir s'il y avait une autre façon de faire (avec des encode/decode ?) ou s'il était possible d'automatiser ces replaces (j'ai essayé avec des boucles, des ord, des unichr, mais ça ne fonctionnait pas)
J'ai aussi l'impression qu'il m'a transformé certains caractères qu'il ne fallait pas pour m'afficher des caractères asiatiques. A noter également qu'il s'agit d'un "one-shot" et que je n'ai pas besoin de performance très importante (j'ai peut être 10 000 enregistrements en base grand maxi)
Malgré une lecture assidue de l'excellent article de Sam & Max sur l'encodage, je dois avouer que je commence à désespérer.