golang web開發亂碼的原因與解決方法
golang
亂碼
golang預設編碼為utf-8,但網頁中會有各種格式像常見的"gb2312","gbk"等。處理這些編碼的網頁時就會出現頭大的亂碼.golang沒有自備的編解碼包,需要藉助第三方包處理。推薦:golang教學
第三方套件
code.google.com/p/mahonia
使用簡介
code外觀託管在Google的伺服器上,國內用戶可能要翻牆,我在github上fork了一個mahonia.
先判斷是否支援你想要的編碼格式,不支援的話,回傳值為nil
func GetCharset(name string) *Charset
if mahonia.GetCharset(char) == nil { return nil, fmt.Errorf("%s charset not suported \n", char)}
登入後複製
建立特定編碼格式的decoder
func NewDecoder(name string) Decoder
dec := mahonia.NewDecoder(char)
登入後複製
接著直接解碼:常用的有直接從字串解碼及從io流解碼
func (d Decoder) ConvertString(s string) string
func (d Decoder) NewReader(rd io.Reader) *Reader
這裡用的是io流,因為下面還用到類似jquery的一個工具包,方便連貫陳述
rd := dec.NewReader(resp.Body)
登入後複製
以上是golang web開發亂碼的原因與解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)