如何解决go语言乱码问题

藏色散人
Lepaskan: 2020-12-18 11:53:03
asal
3205 orang telah melayarinya

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

如何解决go语言乱码问题

本文环境: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)
}
Salin selepas log masuk

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

Atas ialah kandungan terperinci 如何解决go语言乱码问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan