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

How can I configure the encoding of static files in aiohttp?

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

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

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

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

编辑:

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

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

它对文本字符编码没有任何作用。弄清楚纯文本编码是相当昂贵的过程(需要通过 chardet 等工具处理读取文件内容)并且不是 100% 稳定的(一个文件可以包含多种编码)。

P.S。

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