Python 如何在aiohttp中配置静态文件的编码?
如何确保开发期间提供的静态文件使用utf-8 我有一个这样的静态处理程序:Python 如何在aiohttp中配置静态文件的编码?,python,utf-8,python-asyncio,aiohttp,Python,Utf 8,Python Asyncio,Aiohttp,如何确保开发期间提供的静态文件使用utf-8 我有一个这样的静态处理程序: app.router.add_static('/static', MY_STATIC_DIR) 但是,我注意到,在开发过程中,utf-8字符在浏览器中显示为乱码。在生产中通过nginx提供相同的文件时,同样的文件显示良好 编辑: 所讨论的内容存在于webpack.js文件中。我已经测试了使用nginx和node提供这个捆绑包,问题消失了。但是,为了保持开发的简单性,我只想使用aiohttp,而不必启动第二个进程。内容编
app.router.add_static('/static', MY_STATIC_DIR)
但是,我注意到,在开发过程中,utf-8字符在浏览器中显示为乱码。在生产中通过nginx提供相同的文件时,同样的文件显示良好
编辑:
所讨论的内容存在于webpack.js文件中。我已经测试了使用nginx和node提供这个捆绑包,问题消失了。但是,为了保持开发的简单性,我只想使用aiohttp,而不必启动第二个进程。内容编码由
内容类型
头决定,该头反过来用于根据文件扩展名查找类型
它与文本字符编码无关。计算纯文本编码是一个非常昂贵的过程(需要通过像chardet
这样的工具来处理读取文件内容),而且不是100%稳定(一个文件可以包含多个编码)
附言
aiohttp中的静态文件支持用于处理图像等资源,而不是人类可读的纯文本。HTML应该正确呈现。谢谢!在我的例子中,问题似乎是服务webpack.js包时使用的编码。我测试了使用nginx和node提供这个捆绑包,问题就解决了。你知道如何在.js文件中使用guess_type吗;mimetypes.init();mimetypes.type_映射['.js']='应用程序/javascript;charset=utf-8'Uh,请确切说明您添加了此更改。