場景:
前段時間,開發了一個功能,通過 csv批量導入商品功能,功能開發、自測過程中都是用 office,前幾天收到反饋:商品CSV批量導入,出現亂碼報錯問題。
字面判定,是類型轉換問題,根據反饋信息,也從平臺上下載了一份模板,改了幾個數據,然後上傳導入就報錯了。跟着這個,我也從平臺上下載了一份模板,修改上傳,結果……完全沒有問題……而且經過排查定位,報錯這行竟然是標題。
和測試溝通,要了一份他們測試的模板,上傳導入,誒嘿?還真的報錯,比對了測試手上的模板和線上的模板,兩者數據結構一致,沒有發現什麼異常,通過後續溝通得知,測試使用的是 wps 編輯,平臺上載了一份模板,我本地office修改上傳和測試那邊wps修改後上傳,確認了是因爲使用 wps 編輯保存導致的亂碼問題。
定位到了問題的根源,接下來就是針對性的做出處理。
解決辦法:
因爲我當前業務是上傳導入,在當前業務的代碼塊中搜索,發現解析的時候,是有一個地方設置了字符編碼爲:utf-8
這邊是以文件流的形式,讀取當前的 csv 文件,將這邊 修改成 :gb2312 或者是 gbk
重新啓動項目,上傳導入自測,完美解決。