windows上在学golang做爬虫时,会出现中文乱码问题,网上相对这方面的介绍不多,在此做一个解决记录。
结合几个博客,现给出最明了的解决方法:
- 然后解压出来,文件夹改为text
- 在go安装路径的src下创建文件夹,目录大致为:C:\Go\src\golang.org\x\,然后再将步骤2中的text文件夹放在这个目录下,即为:C:\Go\src\golang.org\x\text;
- 现在就可完成编码转换了;
- 用法示例如下:(参考自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)
}