Je travaille actuellement sur un bot irc pour un canal multilingue, et je rencontre des problèmes avec unicode qui s'avèrent presque impossibles à résoudre. Quelle que soit la configuration de l'encodage Unicode que j'essaie d'essayer, la fonction de listage du code ci-dessous ne fait rien (c.notice est une fonction de classe qui envoie une commande NOTICE au serveur irc) ou ça fait quelque chose, crache quelque chose qui n'est évidemment pas encodé.Problèmes unicode Python (2.6)
La commande devrait envoyer 天子, mais à la place, il semble bon d'envoyer å¤ © å avec une configuration précédente des mêmes commandes. Celui que j'ai spécifié ci-dessous est de la variété «n'envoie rien». Je n'ai pas travaillé avec Unicode auparavant, et je suis donc bloqué. Je suis également convaincu que je fais cela complètement faux en conséquence.
(compileCMD prend juste une liste et une seule recrache chaîne de tous les éléments dans la liste)
uk = self.compileCMD(self.faq.keys(),0)
ukeys = unicode(uk,"utf-8").encode("utf-8")
c.notice(nick, u"Current list of faq entries: %s" % (uk))
Comment c.notice fait-elle son affaire? Je suppose que la dernière ligne devrait être 'c.notice (nick, u" ...% s "% (ukeys))'. Sinon, ce code Python devrait fonctionner - si ce n'est pas le cas, je suggère de regarder ce qui se passe ailleurs. Essayez de faire 'print' (ou' logging.debug() ') de' ukeys'. –