golang导出csv乱码解决方法

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 转换为串,然后以序列形式把它们写到指定的输出通道.

你可能感兴趣的:(golang)