我想为用户提供下载CSV文件的功能,该文件将在请求完成时创建,例如:用户发出请求,从数据库中提取数据,然后创建文件。我想使用特定的编码(在我的情况下是UTF-8)。当我没有指定编码时,我认为使用了服务器本地编码(在我的例子中是ascii-us)。所以我试图将编码作为标题传递,但没有成功 - 编码仍然是ascii-us。这是我的代码。
class CsvHandler(RequestHandler):
lines = ['line1', 'line2'] # in actual use case those lines are from DB
def get(self):
self.set_header('Content-Type', 'text/csv')
self.set_header('Content-Disposition', 'attachment; filename=' + filename)
self.set_header('Content-Encoding', 'UTF-8')
for line in lines:
self.write(line.encode('UTF-8'))
以下是下载文件的详细信息:
file -i my_file.csv
my_file.csv:text / plain;字符集= US-ASCII
我想要charset = utf8
谢谢!
答案 0 :(得分:0)
你可以试试这个
class CsvHandler(RequestHandler):
lines = ['line1', 'line2'] # in actual use case those lines are from DB
def get(self):
self.set_header('Content-Type', 'text/csv')
self.set_header('Content-Disposition', 'attachment; filename=' + filename)
for line in lines:
self.write(line.encode("UTF-8"))