golang导出csv乱码解决方法:
在csv文件的开头写入 UTF-8 BOM
// 创建文件
dstf, err := os.Create(``"./data/"
+ fileName)
defer dstf.Close()
if
err != nil {
beego.Error(``"create file error: "
+ err.Error())
return
""``, err
}
`dstf.WriteString(``"\xEF\xBB\xBF"``)` `// 写入UTF-8 BOM,防止中文乱码`
`// 写数据到文件`
`w := csv.NewWriter(dstf)`
`w.Write([]string{``"开始时间:"``, model.StartTime})`
`w.Write([]string{``"结束时间:"``, model.EndTime})`
`w.Write([]string{``"编号"``,` `"优惠卷名称"``,` `"优惠卷编号"``,` `"优惠卷类型"``,` `"优惠卷面值"``,` `"核销日期"``})`
WriteString:
WriteString["file","string"]
把 "string" 写入文件.
WriteString[channel,"string"]
把 "string" 写入流或进程.
WriteString[channel,expr1,expr2,…]
把 expri 转换为串,然后以序列形式把它们写到指定的输出通道.