問題描述
使用filereader & bufferedreader讀取檔案內容,輸出string,獲取的內容為亂碼。**為:
/**
* 從檔案讀內容
* @param filepath
* @return
*/public
static string readfromfile
(string filepath)
}catch
(exception e)
}catch
(exception e)
finally
catch
(ioexception e)}if
(filereader != null)
catch
(ioexception e)}}
return result;
}
解決方案
方法一還是讀取以上的檔案內容,讀取檔案內容後,將string轉為bytes陣列,再從bytes陣列轉為string,並指定編碼
bytes [
] jsonbytes = jsonstr.
getbytes()
;string json =
newstring
(jsonbytes,
"utf-8"
);
方法二
先讀取檔案內容為bytes陣列,使用bytearrayoutputstream,**如下:
public
static
byte
filetobytes
(string filepath)
fis.
close()
; bos.
close()
; buffer = bos.
tobytearray()
;}catch
(filenotfoundexception e)
catch
(ioexception e)
return buffer;
}
再將bytes陣列轉為string,並指定編碼格式
byte
jsonbytes = fileutil.
filetobytes
(jsonfile)
;string json =
newstring
(jsonbytes,
"utf-8"
);
方法三
初始化bufferedreader時候,使用inputstreamreader並指定編碼格式來替換filereader
bufferedreader br=
newbufferedreader
(new
inputstreamreader
(new
fileinputstream
(filename)
,"utf-8"))
;
Python中讀取檔案亂碼問題解決方案
對開發者來說,最讓人頭疼的問題之一莫過於讀寫檔案的時候,由於編碼千差萬別,出現亂碼問題。這時候我們可以使用chardet包來檢測檔案型別,然後再根據型別來decode,下面看舉個例子 案例展示 我在 print data.decode type encoding 這一行打個斷點,dbug一下,可以看...
MySql 亂碼問題解決
最近連線mysql資料庫的時候,我也遇到了中文亂碼問題 呵呵,很頭疼哦!我用的資料庫是mysql5.0,所以,我先用google,baidu等上網搜了一下解決方案,自己也按著方法反覆測試了一下午,終於解決了我的jsp mysql5.0 tomcat 5.0.29出現的亂碼問題。解決方案如下 1 在d...
RARASAFE亂碼問題解決
試用ralasafe1.2 遇到中文亂碼問題,網上找了下解決方案,不全,重新做了個整理 1.瀏覽器頁面全部使用utf 8編碼方式,當瀏覽器提交資料到web伺服器時,對提交資料做utf 8編碼 encoding filter.setcharacterencodingfilter encoding ut...