代码改变世界

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

2018-04-03 19:22  DillGao  阅读(6529)  评论(0编辑  收藏  举报

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