Flask UnicodeDecodeError

时间:2016-07-21 04:14:23

标签: python encoding utf-8 flask

错误:

  

UnicodeDecodeError:'ascii'编解码器无法解码位置24的字节0xf0:序数不在范围内(128)

所以基本上我有一个Flask应用程序,用户填写注册表单并呈现新页面。

以下是代码:

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

这不是一个严肃的项目,只是我正在创建的练习应用程序,因为我正在学习Python。我很肯定是因为表情符号。我已经尝试过其他SO问题但是无法理解。我知道表情符号不是必需的,但我很高兴知道将来如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

尝试将unicode对象而不是str传递给render_template(),如下所示:

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>

答案 1 :(得分:0)

你应该解码那个字符串。试试这个:

<!-- Bottom of HTML.. -->
<script type="text/javascript">
var jv_funcs = {
    openfile:function(iptElement, fileType){
        // some file opening code then a call back to python
        open_file(reader.result, fileType);
    }
};
</script>
<script type="text/python3" src="src/pythonscript.py"></script>


# separate python script in my case 'pythonscript.py'
def open_file(fileContent, fileType):
    # show the file in the dom..

def open_clicked():
    window.jv_funcs.openfile(document["idOpen"], "fileType")


window.open_file = open_file
document["btnOpen"].bind("click", open_clicked)