[Go] 转换编码处理网页显示乱码

在进行抓取网页或者获取一个网页的时候,有时会因为编码问题变成乱码,下面的函数可以转换一下编码

复制代码
//转换编码
func Encoding(html string,ct string) string {
    e,name:=DetermineEncoding(html)
    if name!="utf-8"{
        html=ConvertToStr(html,"gbk","utf-8")
        e=unicode.UTF8
    }
    r := strings.NewReader(html)

    utf8Reader := transform.NewReader(r, e.NewDecoder())
    //将其他编码的reader转换为常用的utf8reader
    all, _ := ioutil.ReadAll(utf8Reader)
    log.Println(string(all))
    return string(all)
}
func DetermineEncoding(html string) (encoding.Encoding,string) {
    e, name, _ := charset.DetermineEncoding([]byte(html), "")
    return e,name
}
复制代码

这个例子是把gbk转为utf8

posted @   唯一客服系统开发笔记  阅读(550)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2016-05-16 [javaSE] 数组(排序-冒泡排序)
2016-05-16 [javaSE] 数组(排序-选择排序)
2016-05-16 [javaSE] 数组(获取最值)
2016-05-16 [javascript] Promise简单学习使用
点击右上角即可分享
微信分享提示
1
chat with us