Flask:UnicodeDecodeError:'utf-8'编解码器无法解码位置0中的字节0xff:无效的起始字节

问题描述 投票:0回答:1

我正在使用flask模块开发一个python项目。这不是我第一次使用它,但我仍然是一个新手。当我设置一个非常简单的文件时,出现了此错误:UnicodeDecodeError:'utf-8'编解码器无法解码位置 0 中的字节 0xff:无效的起始字节 这是我的 app.py 文件:

from flask import Flask,render_template

app = Flask(__name__, template_folder='templates')

@app.route("/")
def index():
    return render_template("index.html")

if __name__ == '__main__':
    app.run(host="0.0.0.0", debug=True)

这是我的index.html 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flask app</title>
</head>
<body>
    <h1>Hello world</h1>
</body>
</html>

仅当我尝试渲染模板时才会出现此问题,就好像我取出渲染模板并用诸如

return "Hello world"
之类的东西替换它一样,我没有任何问题,并且通过转到该网站我看到Hello world。

错误原因是什么? Python 的版本是 3.10,我在 Linux 电脑上

我尝试在我的 Windows 电脑上使用 python 3.9.13 重做此代码,但没有问题,而通过使用我的 linux 计算机与 python 3.10 我不断遇到它。

python python-3.x flask utf-8
1个回答
0
投票

我认为发生这种情况可能是因为您在编辑 HTML 时使用的编码。尝试运行此代码,然后运行 app.py:

f1 = open("templates/index.html","r").read()
open("templates/index.html","wb").write(f1.encode("utf-8"))

希望它有效!

© www.soinside.com 2019 - 2024. All rights reserved.