How can I ensure that my static files served during development are using utf-8?
I have a static handler like so:
app.router.add_static('/static', MY_STATIC_DIR)
But, I've noticed that utf-8 characters show up garbled in the browser during development. The same files show up fine when served via nginx in production.
EDIT:
The content in question lives in a webpack .js file. I've tested serving this bundle with both nginx and node and the problem goes away. But, to keep development simple, I'd like to use just aiohttp rather than having to spin up a second process.
Content encoding is determined by Content-Type
header which in turn uses mimetypes.guess_type
for finding a type based on file extension.
It does nothing with text character encoding. Figuring out plain text encoding is quite expensive procedure (need processing reading file content by tool like chardet
) and not 100% stable (a file can contain multiple encoding).
P.S.
Static file support in aiohttp is for handling resources like images, not human readable plain texts. HTML should be rendered correctly though.