为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用django框架通过python将utf-8更改为cp932?

如何使用django框架通过python将utf-8更改为cp932?

慕标琳琳 2021-03-20 18:57:55
的Python:2.7.3django:1.3.1#:coding=utf-8:import csvfrom django.utils.encoding import smart_strfrom task.models import Taskdef 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)中看到数据。为什么以及怎么办?
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

尝试将user实例转换为Unicode,如下所示:

smart_str(unicode(t.user), encoding=encoding)

希望这行得通!


查看完整回答
反对 回复 2021-03-27
  • 2 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号