パイソン: 2.7.3
ジャンゴ: 1.3.1
#:coding=utf-8:
import csv
from django.utils.encoding import smart_str
from task.models import Task
def export_history_templates(output, encoding='cp932'):
header = [
u'ID',
u'NAME',
u'SENDER',
]
header = [s.encode(encoding) for s in header]
writer = csv.writer(output)
writer.writerow(header)
for t in Task.objects.order_by('-id'):
r = [
t.id,
smart_str(t.name, encoding=encoding),
smart_str(t.user, encoding=encoding), # user is a User table object
]
writer.writerow(r)
csvのダウンロード方法です。csvファイルを生成した後user
、utf-8エンコードでデータはちゃんと見えますが、shift_jis(converted cp932
)では正しく見えません。
なぜ、どのように行うのですか?