在网上找到了解决方案,使用下面的代码,文件名成功显示了中文。
from django.utils.encoding import escape_uri_path
from django.http import HttpResponse
def test(request):
file_name = '测试.txt'
content = ...
response = HttpResponse(content, content_type='application/octet-stream')
response['Content-Disposition'] = "attachment; filename*=utf-8''{}".format(escape_uri_path(file_name))
return response