如何解决go语言乱码问题

藏色散人
藏色散人 原创
2020-12-18 11:53:03 2509浏览

go语言乱码的解决办法:首先下载第三方软件包;然后解压出来,并将文件夹改为text;接着在go安装路径的src下创建文件夹,并将text文件夹放在其中;最后完成编码转换即可。

本文环境:Windows7系统、Go1.11.2版,本文适用于所有品牌的电脑。

推荐教程:《go语言教程

go语言中文乱码解决

windows上在学golang做爬虫时,会出现中文乱码问题,网上相对这方面的介绍不多,在此做一个解决记录。

结合几个博客,现给出最明了的解决方法:

1.先下载第三方软件包:https://github.com/golang/text

2.然后解压出来,文件夹改为text

3.在go安装路径的src下创建文件夹,目录大致为:C:\Go\src\golang.org\x\,然后再将步骤2中的text文件夹放在这个目录下,即为:C:\Go\src\golang.org\x\text;

4.现在就可完成编码转换了;

用法示例如下:(参考自ccmouse老师代码)

package main
// gopm get -g -v golang.org/x/text
import (
"net/http"
"fmt"
"io/ioutil"
"golang.org/x/text/encoding/simplifiedchinese"
// "golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
)
func main()  {
fmt.Println("hello world")
resp, err := http.Get("http://city.zhenai.com/xian")
if err != nil {
panic(err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
fmt.Println("Error: status code", resp.StatusCode)
return
}
utf8Reader := transform.NewReader(resp.Body, 
simplifiedchinese.GBK.NewDecoder())
all, err := ioutil.ReadAll(utf8Reader)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", all)
}

更多相关技术文章,请访问golang教程栏目!

以上就是如何解决go语言乱码问题的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。