首頁  >  文章  >  後端開發  >  如何解決go語言亂碼問題

如何解決go語言亂碼問題

藏色散人
藏色散人原創
2020-12-18 11:53:033222瀏覽

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)
}

更多相關技術文章,請造訪golang教學欄位!

以上是如何解決go語言亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn