Définition de l'encodage pour la sortie redirigée en Python
Lors de l'envoi de la sortie standard, l'interpréteur Python rencontre un problème d'encodage, conduisant à une UnicodeEncodeError. Cela se produit lorsqu'un programme tente d'imprimer des caractères Unicode sans spécifier le codage correct.
Meilleure pratique : encoder la sortie lors du transfert
La solution consiste à encoder manuellement la sortie avant tuyauterie. Une règle générale est de toujours travailler avec Unicode en interne, en décodant l'entrée et en encodant la sortie. Par exemple :
print(u"åäö".encode('utf-8'))
Décodage, manipulation et codage dans une séquence de tuyaux
Un exemple pratique est un programme Python qui convertit entre ISO-8859-1 et UTF-8, texte en majuscule :
import sys for line in sys.stdin: # Decode received input line = line.decode('iso8859-1') # Manipulate Unicode internally line = line.upper() # Encode output line = line.encode('utf-8') sys.stdout.write(line)
Éviter de définir la valeur par défaut Encodage
Modifier site.py ou coder en dur l'encodage par défaut n'est pas recommandé. Cela peut nuire à d'autres modules qui s'appuient sur la valeur par défaut ASCII. Il est crucial d'encoder explicitement la sortie lors de la diffusion pour garantir les résultats souhaités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!