Python et problèmes d'encodages différents entre deux systèmes

Vous avez un soucis d'encoding avec votre programme python mais ce soucis n'est pas présent sur une autre machine ?

Avant de vous lancer dans des investigations coûteuses ; vous devriez vérifier l'encoding du terminal dans lequel votre programme est exécuté.

Voici un petit OneLiner pour y arriver :

$ python -c "import sys; import locale; print('stdin encoding=%s ; stdout encoding=%s ; file system encoding=%s ; system locale=%s' % (sys.stdin.encoding, sys.stdout.encoding, sys.getfilesystemencoding(), locale.getdefaultlocale()))"

Dont la sortie devrait avoir cette tronche :

stdin encoding=UTF-8 ; stdout encoding=UTF-8 ; file system encoding=UTF-8 ; system locale=('fr_FR', 'UTF-8')

Merci à Gordon pour m'avoir soufflé cette solution, vous pouvez aussi lire le post très intéressant à ce sujet sur Sam&Max.