fix: add utf8 encoder for outputter

This commit is contained in:
ᴍᴏᴏɴD4ʀᴋ committed 2022-06-05 15:15:41 +08:00
1 parent 645e2608a2
commit d1ae09d9e4
3 files changed
+6 -1

No files matched your search

+3 -1
View File
@@ -9,6 +9,8 @@ import (
"github.com/gocarina/gocsv"
jsoniter "github.com/json-iterator/go"
"golang.org/x/text/encoding/unicode"
"golang.org/x/text/transform"
)
type OutPutter struct {
@@ -35,7 +37,7 @@ func (o *OutPutter) Write(data Source, writer io.Writer) error {
return encoder.Encode(data)
default:
gocsv.SetCSVWriter(func(w io.Writer) *gocsv.SafeCSVWriter {
writer := csv.NewWriter(w)
writer := csv.NewWriter(transform.NewWriter(w, unicode.UTF8BOM.NewEncoder()))
writer.Comma = ','
return gocsv.NewSafeCSVWriter(writer)
})