文件名亂碼

(1)文件名(中文)存儲到hbase,然後取出,亂碼

      原因:存入hbase時,進行了一次utf-8轉碼(String轉byte[]),取出時,byte[]轉String沒有指定編碼,導致亂碼;

      分析:存入和取出後,結果亂碼,分析下中間是否有轉碼,存儲系統是不是有默認編碼


(2)文件名在程序中,正常,通過new File(文件名)創建出的文件的名字亂碼(文件裏內容沒有亂碼)

        原因:程序打包成鏡像,鏡像沒有指定編碼集,鏡像文件系統默認編碼集好像不是utf-8,導致寫的文件名亂碼

        解決:Dockerfile中指定編碼集 ENV LANG C.UTF-8


(3)上傳文件,程序中打印文件名,在本地測試,正常,服務器上亂碼

       (ps:服務器上request.getCharacterEncoding()返回的是UTF-8,用utf-8對文件名各種嘗試,始終亂碼)

        原因:本地測試,沒有走api網關(spring boot體系),服務器上走api網關,本地測試也走api網關時,同樣亂碼;

        解決:請求地址中,加上 /zuul/(具體,百度),這應該是spring boot體系的問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章