golang 导出CSV文件中文乱码的问题

时间:2021-05-13 08:02:57

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{"编号", "优惠卷名称", "优惠卷编号", "优惠卷类型", "优惠卷面值", "核销日期"})