Spécifiez le codage de la chaîne Unicode dans l'instruction d'impression Python 2.x

L'instruction d'impression Python 2.x convertit implicitement le type ʻunicode`` en type str`` puis l'imprime en standard. Le codage pour la conversion en ʻunicode->` `str est déterminé parlocale.getpreferredencoding ().

Essaie

↓ Lorsque j'essaye d'exécuter Python depuis Terminal sur Mac.

>>> import locale
>>> locale.getpreferredencoding()
'UTF-8'

>>> print u'Ah ah'
Ah ah

↓ Lorsque j'essaye d'exécuter Python à partir de l'invite de commande de Windows 7.

>>> import locale
>>> locale.getpreferredencoding()
'cp932'

>>> print u'Ah ah'
Ah ah

↓ Lorsque j'essaye d'exécuter Python depuis la console PyDev d'Eclipse.

>>> import locale
>>> locale.getpreferredencoding()
'US-ASCII'

>>> print u'Ah ah'
Traceback (most recent call last):
  File "<input>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

Comme il s'agissait d'ascii dans un environnement spécial, ʻu'Ah ' entraînera une erreur ʻUnicodeEncodeError``.

Je veux que vous convertissiez avec l'encodage spécifié

Si vous osez spécifier le codage, vous pouvez le faire par la méthode suivante.

>>> import sys, codecs
>>> sys.stdout = codecs.getwriter('utf-8')(sys.stdout)

>>> print u'Ah ah'
Ah ah

Évitez de donner des erreurs

Il est très probable que vous masquiez le bogue ...

_ENC_LOCALE = locale.getpreferredencoding()
sys.stdout = codecs.getwriter(_ENC_LOCALE)(sys.stdout, errors='replace')
sys.stderr = codecs.getwriter(_ENC_LOCALE)(sys.stderr, errors='replace')

Recommended Posts

Spécifiez le codage de la chaîne Unicode dans l'instruction d'impression Python 2.x
Découvrez la largeur apparente d'une chaîne en python
[Introduction à Python] Comment générer une chaîne de caractères dans une instruction Print
Conversion de la chaîne <-> date (date, datetime) en Python
Vérifiez le comportement du destroyer en Python
Le résultat de l'installation de python sur Anaconda
Principes de base pour exécuter NoxPlayer en Python
À la recherche du FizzBuzz le plus rapide en Python
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
[Introduction à Python] Une explication approfondie des types de chaînes de caractères utilisés dans Python!
Sortie du nombre de cœurs de processeur en Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Récupérer l'appelant d'une fonction en Python
Faites correspondre la distribution de chaque groupe en Python
Afficher le résultat du traitement de la géométrie en Python
Copiez la liste en Python
Obtenez le titre de la fenêtre du système X Window en Python
Découvrez la fraction de la valeur saisie en python
Trouvez la solution de l'équation d'ordre n avec python
[Python numpy] Spécifiez dynamiquement l'index du tableau
L'histoire de la lecture des données HSPICE en Python
[Note] À propos du rôle du trait de soulignement "_" en Python
Résolution d'équations de mouvement en Python (odeint)
Sortie sous la forme d'un tableau python
json.dumping None en python renvoie la chaîne null
traitement (python) Diagramme les coordonnées de la liste Spécifiez le nombre de fois dans draw ()
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Divise la chaîne de caractères par le nombre de caractères spécifié. En Ruby et Python.
Obtenez le dernier élément du tableau en fractionnant les chaînes en Python et PHP
Vérifiez si la chaîne est un nombre en python
Téléchargez des fichiers tout en affichant la progression dans Python 3.x
Découvrez la bonne efficacité de calcul de la vectorisation en Python
Spécifier le modèle d'éclairage du matériau SCN dans Pythonista
À propos du fait que le contenu de l'impression Python n'est pas visible dans les journaux du docker
Comment obtenir le nombre de chiffres en Python
Manipulation de chaîne en python
Découpez une partie de la chaîne à l'aide d'une tranche Python
Stocker le japonais (chaîne de caractères multi-octets) dans sqlite3 de python
[python] Récupère la liste des classes définies dans le module
[Python] Changer la couleur du texte et la couleur d'arrière-plan d'un mot clé spécifique dans la sortie d'impression
le zen de Python
L'histoire de FileNotFound en Python open () mode = 'w'
Apprenez le modèle de conception «Chaîne de responsabilité» en Python
Implémenter la solution de l'algèbre de Riccati en Python
[Golang] Spécifiez un tableau pour la valeur de la carte
Obtenir la taille (nombre d'éléments) de Union Find en Python
Ne pas être conscient du contenu des données en python
Décale la chaîne de l'alphabet de N caractères en Python
Reproduire l'exemple d'exécution du chapitre 4 de Hajipata en Python
Utilisons les données ouvertes de "Mamebus" en Python
Implémentation de l'algorithme "Algorithm Picture Book" en Python3 (Heap Sort Edition)
[Python] Affiche toutes les combinaisons d'éléments de la liste
Jugement de codage en Python
[Python] Résumé de la façon de spécifier la couleur de la figure
Obtenez l'URL de la destination de la redirection HTTP en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Reproduire l'exemple d'exécution du chapitre 5 de Hajipata en Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Vérifiez la nature atrophique de la distribution de probabilité en Python
J'ai essayé de résumer les opérations de chaîne de Python