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

 所属分类:php教程

 浏览:149次-  评论: 0次-  更新时间:2022-09-30
描述:更多教程资料进入php教程获得。 php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用golang默认...
更多教程资料进入php教程获得。

php入门到就业线上直播课:进入学习
API 文档、设计、调试、自动化测试一体化协作工具:点击使用

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开发乱码的原因与解决方法的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: golang,乱码,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!