golang 编码转换 gbk转码utf 爬虫中文乱码

 

golang仅支持utf-8, 使用爬虫时经常遇到不是utf-8编码的文件, 如果抓取则会造成文字乱码

 

1. 下载导入包

import "github.com/axgle/mahonia"

2. 定义函数

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

}

3. 调用函数(抓到的gbk网页经过转换不再乱码)

result = ConvertToString(html, "gbk", "utf-8")

posted on 2019-06-08 13:59  新手老猿  阅读(2009)  评论(0编辑  收藏  举报