[PYTHON] Mesures à prendre en cas de caractères déformés lors de la tentative de redirection / canalisation du résultat de aws-cli

Si vous transférez une commande depuis aws cli comme ceci, elle ressemblera à ceci (la commande et la sortie sont factices).

$ aws s3 ls --recursive bucket/photo/1/
2014-05-06 16:45:30      11979 photo/1/20140506164529_Capture d'écran 2014-01-28 15.27.48.png

Cependant, si vous le changez pour la commande suivante, par exemple, cela devient ennuyeux.

$ aws s3 ls --recursive bucket/photo/1/ | tee /dev/null
2014-05-06 16:45:30      11979 photo/1/20140506164529_????????? 2014-01-28 15.27.48.pn

Hanté!

Le même phénomène se produit lorsque le fichier est sorti par redirection.

Contre-mesures

La cause réside dans le système de traitement Python qui implémente la commande ʻaws`. Python correspond au code de caractère en fonction de la destination de sortie, mais dans le cas d'une redirection ou d'un tube, puisque le code de caractère de la destination de sortie n'est pas connu, il est forcé de sortir en ASCII! !! !! Imitation supplémentaire! !! !! </ del>

En guise de contre-mesure, vous devez définir une variable d'environnement / variable shell appelée PYTHONIOENCODING.

$ PYTHONIOENCODING=UTF-8 aws s3 ls --recursive bucket/photo/1/ | tee /dev/null
2014-05-06 16:45:30      11979 photo/1/20140506164529_Capture d'écran 2014-01-28 15.27.48.png

Recommended Posts

Mesures à prendre en cas de caractères déformés lors de la tentative de redirection / canalisation du résultat de aws-cli
Mesures à prendre en cas d'opération suspecte dans la redirection HttpResponse
Enregistrement des actions à entreprendre lorsque google_image_download ne peut pas être utilisé
L'histoire d'essayer de reconnecter le client
Une note de malentendu lors de la tentative de chargement de l'intégralité du module self-made avec Python3
Je souhaite être informé de l'environnement de connexion lorsque RaspberryPi se connecte au réseau
Je veux grep le résultat de l'exécution de strace
Soyez prudent lors de la différenciation des vecteurs propres d'une matrice