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

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

  1. 然后解压出来,文件夹改为text
  2. 在go安装路径的src下创建文件夹,目录大致为:C:\Go\src\golang.org\x\,然后再将步骤2中的text文件夹放在这个目录下,即为:C:\Go\src\golang.org\x\text;
  3. 现在就可完成编码转换了;
  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)
}