我在Java中,這行代碼保存:的Java:不能在UTF-8
new BufferedWriter(new OutputStreamWriter(new FileOutputStream(name, append), "UTF-8"));
這個作家不寫一個UTF-8的文件,因爲當我在記事本打開它++它說,編碼是:ANSI作爲UTF-8。我需要它是純粹的UTF-8。
你有什麼建議嗎?
我在Java中,這行代碼保存:的Java:不能在UTF-8
new BufferedWriter(new OutputStreamWriter(new FileOutputStream(name, append), "UTF-8"));
這個作家不寫一個UTF-8的文件,因爲當我在記事本打開它++它說,編碼是:ANSI作爲UTF-8。我需要它是純粹的UTF-8。
你有什麼建議嗎?
記事本++(和任何其他工具)只能猜測編碼,它不是寫在你的文件(或在某些元數據)的任何地方。
如果您編寫的文本不包含ASCII範圍以外的任何字符(即,沒有Unicode碼點> 127的字符),則ANSI編碼的文件與UTF-8編碼中的文件無法區分。
如果您的文件只包含ASCII字符,則不會有任何區別。即以UTF-8或ASCII格式保存,文件內容將完全相同,除非您輸入BOM字節(0xEF,0xBB,0xBF)。 – shinkou
我不會僅僅依據Notepad ++所說的 - 你看過文件的內容嗎? –
參見:http://stackoverflow.com/questions/1380690/what-is-ansi-as-utf-8-and-how-can-i-make-fputcsv-generate-utf-8-w-bom – dacwe