2016-07-21 10 views
0

Fehler:Flask UnicodeDecodeError

UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 24: ordinal not in range(128)

Also im Grunde habe ich eine Flasche app, wo Benutzer ein Anmeldeformular ausfüllen und es macht eine neue Seite.

Hier ist der Code:

render_template('signUpSuccess.html', password="You should know, right? ") 

Es ist kein ernsthaftes Projekt nur eine Praxis App Ich bin zu schaffen, da ich Python lerne. Ich bin mir sicher, es liegt am Emoji. Ich habe andere SO Fragen ausprobiert, aber ich kann es einfach nicht herausfinden. Ich weiß, dass das Emoji nicht notwendig ist, aber es wäre schön zu wissen, wie ich das in Zukunft beheben kann.

+0

Verwenden Sie Python2 oder Python3? –

Antwort

1

Versuchen Sie, ein unicode Objekt vorbei, kein str in render_template(), etwa so:

render_template('signUpSuccess.html', password=u"You should know, right? ") 

Beispielprogramm:

# coding: utf-8 
from flask import Flask, render_template 

app = Flask(__name__) 

@app.route('/') 
def root(): 
    return render_template('signUpSuccess.html', password=u"You should know, right? ") 

if __name__=="__main__": 
    app.run(debug=True) 

Vorlage:

<html>password: {{ password }}</html> 
+0

Das hat es behoben. Vielen Dank! – Rigo

0

Sie diese Zeichenfolge entschlüsseln sollte . Versuchen Sie dies:

the_password = "You should know, right? " 
the_password = the_password.decode('utf-8') 

render_template('signUpSuccess.html', password=the_password) 
+0

Sorry, es gab mir den gleichen Fehler. – Rigo