ファイルはUTF-8でエンコードされているようです。UTF-8として読む必要があります。
と会社を使用している場合はjava.io.FileReader
、を開いて代わりにFileInputStream
使用する必要があります。InputStreamReader
// Before: Reader in = new FileReader(file)
Reader in = new InputStreamReader(new FileInputStream(file), "UTF-8");
ファイルを読み取るために他の方法(おそらく外部または内部のクラスライブラリ?)を使用している場合は、ファイルの読み取りに使用されるテキストエンコーディングを指定できるかどうか、ドキュメントを確認してください。
更新:すでに文字化けのような文字列があり£97.55
、その読み取り方法を修正できない場合、再コーディングの1つの方法は、文字列をバイトに変換し直し、バイトをUTF-8として再解釈することです。このプロセスには、外部の「StringUtils」またはコーデックライブラリは必要ありません。Java標準APIは十分に強力です。
String input = ...obtain from somewhere...;
String output = new String(input.getBytes(/*use platform default*/), "UTF-8");