title: Go字符集编码转换
tags: Go
背景
从文本中读取内容的时候发现中文乱码
问题:在 Golang 的调试过程中出现中文乱码
原因:Golang 默认不支持 UTF-8 以外的字符集
解决:将字符串的编码转换成UTF-8
前提
首先我们需要使用mahonia
这个包,可以使用命令安装。
go get github.com/axgle/mahonia
使用方法
- 导入
mahonia
import "github.com/axgle/mahonia" - 编写以下函数
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
}
- src 源字符串
- srcCode 字符当前的编码,如 GBK
- tagCode 要转换的目标编码 ,如UTF-8
有疑问加站长微信联系(非本文作者)