本文摘自php中文网,作者尚,侵删。
golang默认编码为utf-8,但网页中会有各种格式像常见的"gb2312","gbk"等。处理这些编码的网页时就会出现头大的乱码.golang没有自带的编解码包,需要借助第三方包处理。推荐:golang教程
第三方包
code.google.com/p/mahonia
使用简介
code貌似托管在谷歌的服务器上,国内用户可能要翻墙,我在github上fork了一个mahonia.
先判断是否支持你想要的编码格式,不支持的话,返回值为nil
func GetCharset(name string) *Charset
1 2 3 |
|
创建特定编码格式的decoder
func NewDecoder(name string) Decoder
1 |
|
接着直接解码:常用的有直接从字符串解码及从io流解码
func (d Decoder) ConvertString(s string) string
func (d Decoder) NewReader(rd io.Reader) *Reader
这里用的是io流,因为下面还用到类似于jquery的一个工具包,便于连贯陈述
1 |
|
以上就是golang web开发乱码的原因与解决方法的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
golang usr/local/go/pkg/tool/linux_amd64/link: fingerprint mismatch 解决办法
更多相关阅读请进入《golang》频道 >>
Go语言101
一个与时俱进的Go编程知识库。