UnicodeEncodeError nur beim Ausführen als Cron Job [Duplizieren]

Diese Frage hat hier schon eine Antwort:

  • Setzen Sie die richtige Codierung, wenn Piping Stdout in Python 9 Antworten

Mein Programm funktioniert direkt in der Kommandozeile, aber wenn ich es als Cron Job ausführen, stürzt es auf den Fehler ab:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xa7' in position 13: ordinal not in range(128) 

Es stürzt auf der Aussage ab

 print title 

Warum dies geschieht nur, wenn die App als Cron Job läuft? Wie könnte das behoben werden?

Ich habe versucht (ohne Hilfe):

 print unicode(title) 

Python ist 2,7

2 Solutions collect form web for “UnicodeEncodeError nur beim Ausführen als Cron Job [Duplizieren]”

Abgesehen davon: Dies ist ein häufiges Problem; Als solches ist das wohl eine doppelte Frage.

Die Standardcodierung auf 2.7 ist ascii .
Sie müssen eine Kodierung für die Ausgabe Ihres Programms angeben.
Eine gängige Codierung ist 'utf8'.

Also würdest du stattdessen tun

 print title.encode('utf8') 

Hier ist eine Möglichkeit, die Standard-Codierung zu überprüfen:

 import sys sys.getdefaultencoding() # -> 'ascii' 

Du kannst es einfacher machen. Definiere einfach PYTHONIOENCODING vor dem Ausführen dieses Skripts. So was:

 PATH=<your path> MAILTO=someone@somewhere PYTHONIOENCODING=utf8 * * * * * /run/your/script 
  • Unicode-Zeichen aus Spaltennamen in Pandas können nicht entfernt werden
  • Requests.get gibt 403 zurück, während die gleiche URL im Browser funktioniert
  • Ziehen Sie Emojis aus einer Unicode-Zeichenfolge ordnungsgemäß heraus
  • Was ist der Umgang mit Python 3.4, Unicode, verschiedenen Sprachen und Windows?
  • Python UnicodeDecodeError - Bin ich Missverständnis kodieren?
  • Detektieren / entfernen ungepaarte Leihmarke in Python 2 + GTK
  • Google App Engine: UnicodeDecodeError: 'ascii' Codec kann das Byte 0xe2 nicht in Position 48 decodieren: ordinal nicht im Bereich (128)
  • UnicodeEncodeError: 'latin-1' Codec kann Zeichen nicht kodieren
  • Konvertieren Sie Unicode-String in Byte-String
  • UTF-8 In Python-Protokollierung, wie?
  • Python-Druck verwendet nicht __repr__, __unicode__ oder __str__ für Unicode-Unterklasse?
  • Python ist die beste Programmiersprache der Welt.