我正在尝试将包含汉字的字符串写入文件,但是我遇到了编码问题(得到类似10𥉥•‰∏äÁªªÈ™™之类的文字)
这就是我所拥有的。
csvContent, err := gocsv.MarshalString(&csvTranslation) // Get all clients as CSV string
if err != nil {
panic(err)
}
d1 := []byte(string(csvContent))
ioutil.WriteFile("result.csv", d1, 0644)
您能指出我所缺少的吗
答案 0 :(得分:1)
您使用Go UTF-8编码的string
,并且错误地将其解释为扩展ASCII字节。
例如,
package main
import (
"fmt"
)
func main() {
utf8 := "汉字 漢字"
fmt.Println(utf8)
var ascii string
for i := 0; i < len(utf8); i++ {
ascii += string(utf8[i])
}
fmt.Println(ascii)
}
游乐场:https://play.golang.org/p/HTPWhPO7OVS
输出:
汉字 漢字
æ±å æ¼¢å