我的HTTP标头存在问题,它们以ASCII编码,我想提供一个下载名称可以为非ASCII的文件的视图。
response['Content-Disposition'] = 'attachment; filename="%s"' % (vo.filename.encode("ASCII","replace"), )
我不想使用非ASCII文件名来解决同一问题的静态文件,但是在这种情况下,文件系统及其文件名编码会出现问题。(我不知道目标操作系统。)
我已经尝试过urllib.quote(),但它引发KeyError异常。
可能我在做错事,但这也许是不可能的。
这是一个常见问题解答。
没有可互操作的方式来执行此操作。一些浏览器实现专有扩展(IE,Chrome),另一些实现RFC 2231(Firefox,Opera)。
请参阅http://greenbytes.de/tech/tc2231/上的测试用例。
当前所有台式机浏览器均支持RFC 6266和RFC 5987(Safari> = 6,IE> = 9,Chrome,Firefox,Opera,Konqueror)中定义的编码。
RFC 5987(Safari> = 6,IE> = 9,Chrome,Firefox,Opera,Konqueror)