如何在aiohttp中配置静态文件的编码?

时间:2018-01-11 20:35:02

标签: python utf-8 python-asyncio aiohttp

如何确保在开发期间提供的静态文件使用utf-8?

我有一个像这样的静态处理程序:

app.router.add_static('/static', MY_STATIC_DIR)

但是,我注意到在开发过程中,utf-8字符在浏览器中显示为乱码。在生产中通过nginx提供时,相同的文件显示正常。

编辑:

相关内容存在于webpack .js文件中。我已经测试了使用nginx和节点服务这个包,问题就消失了。但是,为了保持开发简单,我想只使用aiohttp而不是必须启动第二个过程。

1 个答案:

答案 0 :(得分:1)

内容编码由Content-Type标头决定,后者又使用mimetypes.guess_type根据文件扩展名查找类型。

它对文本字符编码没有任何作用。找出纯文本编码是非常昂贵的过程(需要通过像chardet这样的工具处理读取文件内容而不是100%稳定(文件可以包含多个编码)。

P.S。

aiohttp 中的静态文件支持用于处理图像等资源,而不是人类可读的纯文本。 HTML应该正确呈现。