如何确保在开发期间提供的静态文件使用utf-8?
我有一个像这样的静态处理程序:
app.router.add_static('/static', MY_STATIC_DIR)
但是,我注意到在开发过程中,utf-8字符在浏览器中显示为乱码。在生产中通过nginx提供时,相同的文件显示正常。
编辑:
相关内容存在于webpack .js文件中。我已经测试了使用nginx和节点服务这个包,问题就消失了。但是,为了保持开发简单,我想只使用aiohttp而不是必须启动第二个过程。
答案 0 :(得分:1)
内容编码由Content-Type
标头决定,后者又使用mimetypes.guess_type
根据文件扩展名查找类型。
它对文本字符编码没有任何作用。找出纯文本编码是非常昂贵的过程(需要通过像chardet
这样的工具处理读取文件内容而不是100%稳定(文件可以包含多个编码)。
P.S。
aiohttp 中的静态文件支持用于处理图像等资源,而不是人类可读的纯文本。 HTML应该正确呈现。