沒做轉(zhuǎn)碼吧?初步懷疑是這個問題,你嘗試下UTF8與GBK之間轉(zhuǎn)下碼,應(yīng)該就可以了
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站改版維護、企業(yè)網(wǎng)站設(shè)計、郫都網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
是。Go(又稱Golang)是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,Go讀取CSV文件,其內(nèi)容都被轉(zhuǎn)換成字符串?dāng)?shù)組。
根據(jù)需求做一個csv報表數(shù)據(jù)導(dǎo)入入庫功能,運行多天突然運維告知導(dǎo)入數(shù)據(jù)有問題,有問題那就排查唄。。。
題外話:這個問題足足浪費了我2天時間,期間還出了其他的一些問題著實讓我抓狂,另外這篇文章希望能幫到你,不要在采坑了?。?!
說在前面,這個csv表格數(shù)據(jù)是有中文的。ok繼續(xù)
通過日志打點發(fā)現(xiàn)了以下錯誤
找了一圈,著實頭痛,我也知道中文需要做處理轉(zhuǎn)化這個我已經(jīng)做了,并且已經(jīng)明確是utf-8了通過標準庫方法進行判斷的還是報錯。著實讓我摸不著頭腦。判斷utf-8方法如下
ok,最后借助了百度,google找了一大圈功夫不負有心人,最后發(fā)現(xiàn)utf-8還有 utf-8 bom 這種編碼格式,我想罵娘。。。至于編碼規(guī)則啥的就不詳細說了,有興趣自行百度吧。
解決方案如下:
至于其他編碼方式以及轉(zhuǎn)換可以查看golang官方擴展庫 golang.org/x/text/encoding 庫中的源碼。
一個用golang的無名小卒
完~