Python 使用UTF8导出csv

Python 使用UTF8导出csv,python,django,csv,encoding,utf-8,Python,Django,Csv,Encoding,Utf 8,我正在尝试使用utf-8导出csv文件,但csv.writer似乎没有编码参数。。。。有什么想法吗 import csv response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename=data.csv' writer = csv.writer(response, delimiter=';') for book in books: write

我正在尝试使用utf-8导出csv文件,但csv.writer似乎没有编码参数。。。。有什么想法吗

import csv

response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename=data.csv'
writer = csv.writer(response, delimiter=';')

for book in books:
   writer.writerow([book.author, book.title])

字符串
journée
显示为
journ@~e

显示(并解释)由于
csv
读取文件,因此在打开该文件时需要指定编码:
在打开输出文件时指定编码参数。
。在本例中,“文件”是HttpResponse。您尝试过在响应中指定
字符集吗?是的,字符集='utf-8'不起作用
不起作用是什么意思?你收到乱码了吗?还是别的什么?客户需要字符集来知道如何处理响应,所以您必须包括它。是的,我有类似于journ@~e的东西,而不是journéeWhere?是在浏览器中还是在编辑器中打开下载的文件?如果
字符集
丢失,我希望会发生这种情况,因为浏览器会尝试处理将
é
表示为单字节文本所需的两个字节。因此,输出为UTF8,但由于缺少正确的标题,文本被视为单字节文本