3

我正在尝试将 Flask 响应对象中的 Content-Disposition 标头设置为可能包含瑞典语字符 (åäö) 的文件名。我的测试代码如下所示:

response =  flask.send_file(output_file_path)
response.headers[u"Content-Disposition"] = u'filename="åäö.pdf"'

这会出现以下错误:

文件“C:\Python27\Lib\BaseHTTPServer.py”,第 401 行,在 send_header
self.wfile.write("%s: %s\r\n" % (keyword, value))
UnicodeDecodeError: 'ascii' codec can '不解码位置 10 中的字节 0xe5:序数
不在范围内(128)

我已经尝试过编码、解码和我能想到的任何事情,但我无法让 Flask 接受我想在我的标题中使用 Unicode(utf-8)!

4

2 回答 2

1

参见 RFC 6266了解 Content-Disposition 和5987了解编码。测试用例在这里

于 2012-11-19T11:35:53.927 回答
0

在 utf-8 中发送 http 标头值存在一些问题。看看这个问题How to send non-English unicode string using HTTP header? .

于 2012-11-19T08:49:03.583 回答