beego中gbk和utf8编码转换问题,这个问题非常重要,有时候从gbk采集过来转成utf8也非常重要。
func Get_cate_urls(url string) (map[int]string , error) {
urls :=make(map[int]string)
if len(url) == 0 {
return urls,errors.New("请输入要采集的url")
}
res,err := http.Get(url)
if err !=nil {
return urls,err
}
body ,err := ioutil.ReadAll(res.Body)
if (err !=nil) {
return urls,err
}
body = body[1024:1024*2]
html := string(body)
enc := mahonia.FallbackDecoder(mahonia.NewDecoder("utf8"), mahonia.NewDecoder("ISO-8859-1"))
strr := enc.ConvertString(html)
dd:=mahonia.NewDecoder("gbk")
str := dd.ConvertString(html)
urlall := regex.FindAllStringSubmatch(enc.ConvertString(strr),-1)
以上我们提供了2种解决方案,来解决该golang采集中编码的问题,这个是我在beego中采集的解决办法