解决中文乱码
最后更新于:2022-04-02 04:47:58
问题:在 Golang 的调试过程中出现中文乱码
原因:Golang 默认不支持 UTF-8 以外的字符集
解决:将字符串的编码转换成UTF-8
首先需要 mahonia 这个包
go get github.com/axgle/mahonia
然后新建一个 func
src 字符串
srcCode 字符串当前编码
tagCode 要转换的编码
~~~
func ConvertToString(src string, srcCode string, tagCode string) string {
srcCoder := mahonia.NewDecoder(srcCode)
srcResult := srcCoder.ConvertString(src)
tagCoder := mahonia.NewDecoder(tagCode)
_, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
result := string(cdata)
return result
}
~~~
例子:
调用 ConvertToString 方法
~~~
str := "乱码的字符串变量"
str = ConvertToString(str, "gbk", "utf-8")
fmt.Println(str)
~~~
';