UnicodeEncodeError: 'ascii' Codec kann das Zeichen u '\ xe9' nicht an Position 1 codieren: Ordnungszahl nicht im Bereich (128)

8

Ich weiß, dass es einen Titel darüber gibt, aber die Frage ist anders als meine. Also hier ist mein Problem. Ich benutze den Kontextprozessor, um den Benutzernamen anzuzeigen. Es funktioniert, aber meine Wache entdeckt gestern einen Fehler.

UnicodeEncodeError: 'ascii' Codec kann das Zeichen u '\ xe9' nicht an Position 1 codieren: Ordnungszahl nicht im Bereich (128)

Hier ist mein Code:

%Vor%

Was ist die Ursache dafür? Oder das Benutzereingabezeichen für ihren Namen?

    
catherine 26.02.2013, 08:05
quelle

1 Antwort

18

Es ist im Grunde ein Benutzereingabeproblem.

Textkodierungen sind eine ganze "Sache" und schwer zu verstehen, aber in einer Nussschale hat ein Benutzer ein Unicode-Zeichen eingegeben, das nicht einfach einem ASCII-Zeichen zugeordnet werden kann.

Sie können dies beheben, indem Sie Folgendes ändern:

%Vor%

Dazu:

%Vor%

Das weist Python an, den String als Unicode-String zu behandeln (der alle normalen Funktionen als ASCII-String hat).

    
Jack Shedd 26.02.2013, 08:30
quelle

Tags und Links