2016-07-21 2 views
0

エラー:フラスコUnicodeDecodeError

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

だから、基本的に私は、ユーザーがフォームに署名を埋めると、それは新しいページをレンダリングフラスコアプリを持っています。

ここでは、コードです:

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

それは私が、私は、Pythonを学んでいるので、作成しています深刻なプロジェクトだけで練習アプリではありませんが。私はそれが絵文字のためだと肯定的です。私は他のSOの質問を試みましたが、それを理解できません。私は絵文字が必要ではないことを知っていますが、これを将来どのように修正できるかを知ってうれしいです。

+0

Python2またはPython3を使用していますか? –

答えて

1

そうのように、render_template()unicodeオブジェクトではなく、strを渡して試してみてください。

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

サンプルプログラム:

# 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) 

テンプレート:あなたは、その文字列をデコードする必要があり

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

これは修正されました。ありがとう! – Rigo

0

。試してみてください:

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

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

申し訳ありませんが、それは私に同じエラーを与えました。 – Rigo