golang web开发乱码的原因与解决方法

发布时间:2022-05-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了golang web开发乱码的原因与解决方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

golang默认编码为utf-8,但网页中会有各种格式像常见的"gb2312","gbk"等。处理这些编码的网页时就会出现头大的乱码.golang没有自带的编解码包,需要借助第三方包处理。推荐:golang教程

第三方包

code.GOOGLE.COM/p/mahonia

使用简介

code貌似托管在谷歌服务器上,国内用户可能要翻墙,我在gIThub上fork了一个mahonia.

先判断是否支持你想要的编码格式,不支持的话,返回值为nil

func getcharset(name string) *Charset

if mahonia.GetCharset(char) == nil {

    return nil, fmt.Errorf("%s charset not suported \n", char)}

创建特定编码格式的decoder

func NewDecoder(name string) Decoder

dec := mahonia.NewDecoder(char)

接着直接解码:常用的有直接从字符串解码及从io流解码

func (d Decoder) ConvertString(s string) string
func (d Decoder) NewReader(rd io.Reader) *Reader

这里用的是io流,因为下面还用到类似于jquery的一个工具包,便于连贯陈述

rd := dec.NewReader(resp.Body)

以上就是golang web开发乱码的原因与解决方法的详细内容,更多请关注脚本宝典其它相关文章

脚本宝典总结

以上是脚本宝典为你收集整理的golang web开发乱码的原因与解决方法全部内容,希望文章能够帮你解决golang web开发乱码的原因与解决方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:golanggolang