Ich habe ein Python-Skript geschrieben (und voll funktionsfähig) auf Debian. Jetzt möchte ich das Skript mit cx_Freeze für die Verteilung an Windows-Benutzer einfrieren und zu diesem Zweck habe ich ein Win XP-System in virtualbox mit Python 3.4.4 läuft auf ihm ausgeführt. Nach dem Einfrieren des Skripts und dem Versuch, die resultierende Exe auszuführen, erhalte ich folgende Fehlermeldung:Python 3.4.4/Win XP: Codierung Fehler
"UnicodeEncodeError: 'Charmap' Codec kann Zeichen in Position 11-14 nicht codieren: Zeichenkodierung zu (<) undefiniert (>) ".
Die Zeichen in der Ausgabe sind diese:
ту╧╙
Die Zeichen sind ein Teil der Syntax einer FDF-Datei, die die Python-Skript erzeugt. Es kam auch heraus, dass sogar das ursprüngliche Python-Skript vor dem Einfrieren das gleiche Problem hat; Ich verstehe, dass Pythons Stdout cp852 ist, während der Befehlszeileninterpreter des Systems mit cp1250 arbeitet. Ich habe verschiedene Wege versucht, PYTHONIOENCODING zu ändern, aber bis jetzt vergeblich, es führt nur zu noch mehr Fehlermeldungen. Kann ich etwas tun, um das zu beheben?
Vielen Dank für den Tipp, es löst das Problem. Interessanterweise ist das, was der Beginn einer FDF-Datei wie folgt aussieht:% FDF-1.2 % ту╧╙ 1 0 obj << /FDF << /Felder [ << /V (Pstcd) /T (Postleitzahl) – bob