Salut
J’ai un petit bout de script en Python 3 qui permet de tester un serveur SMTP (envoi d’un mail de test, et affichage de message à chaque étape de la communication avec le serveur SMTP)
Le tout fonctionne très bien sur un Raspberry Pi avec Archlinux, que ce soit depuis un shell ou depuis une page php (appel du script avec la commande php passthru())
Je bascule sur Debian, tout est en place sauf ce script qui me prend la tête depuis des heures…
Il fonctionne toujours à merveille depuis le shell.
Il ne fonctionne pas si on l’appelle depuis une page php (toujours avec passthru())
Le journal d’erreur d’Apache indique clairement que le problème vient de l’encodage en ascii de mes messages qui contiennent des accents… (en fait, c’est un message d’erreur de Python, mais transmis par Apache)
Je précise que tout est configuré pour utf-8 (locale, php (j’ai ajouté un Default_charset dans le fichier conf), page html produite par php, encodage de mes fichiers sources)
En cherchant un peu on trouve (y compris sur ce forum) des messages indiquant qu’il faut ajouter .encode(“utf-8”) à mes chaines de caractères python.
J’ai essayé mais ça ne donne rien de probant : certes l’erreur n’apparait plus, mais mes messages sont affichés n’importe comment (\xe08 par exemple à la place des accents)
Donc : pourquoi sous Debian j’ai ce problème d’accent alors que je ne l’ai pas sous Archlinux, et comment le résoudre …
PS : j’ai même installé python 3.2.3 pour voir si ça changeait quelque chose…
PS2 : Pourquoi Python3, qui normalement est par défaut en UTF-8 se met à ne plus comprendre l’utf-8 si on le lance depuis Apache ?
Merci à tous.