私はこのコードを持っている:JavaのUTF-8エンコーディング
BufferedWriter w = Files.newWriter(file, Charsets.UTF_8);
w.newLine();
StringBuilder sb = new StringBuilder();
sb.append("\"").append("éééé").append("\";")
w.write(sb.toString());
をしかし、それは動作していません。最後に私のファイルにはUTF-8エンコーディングはありません。
w.write(new String(sb.toString().getBytes(Charsets.US_ASCII), "UTF8"));
をので、私は最初のBOMのcharcater(http://bugs.java.com/view_bug.do?bug_id=4508058)の認識に関するバグがあったことが判明
...それはマークがファイルにどこにでも現れる質問をした:書くとき、私はこれを実行しようとしました私はBOMInputStreamクラスを使ってみました。しかし、bomIn.hasBOM()
は常にfalseを返すので、私の問題はおそらくBOM関連ではないと思いますか?
ファイルをUTF-8でエンコードする方法をご存知ですか?問題はJava 8で解決されましたか?ビューアーやツールを使用すると、doesnのファイルを表示するために使用していること
問題がある(あなたが重複した文字列から文字列を作成しているが)あなたは、あなたの最初の例では、正しくUTF-8書いている
あなたの実際の問題が何であるかを理解することは難しいです。実際のコード、入力、出力を表示してください。 UTF-8はJavaでうまく動作しますし、もちろん 'sb.toString()。getBytes(Charsets.US_ASCII)'は疑問符をたくさん生成します。US_ASCIIは0 .. 127の文字しかサポートしないので、他はすべて無効です。疑問符。 UTF-8でのBOMの使用もお勧めしません。 –
確かに動作します。あなたの 'BufferedWriter'が作成されたら、あなたは' w.write( "Hello、ööå"); w.close(); 'ファイルがUTF-8でエンコードされていることを保証します。 – Kayaman
"ファイル内のどこにでも疑問符が表示されました..." - 問題は実際にファイルを見る場所です。 – Gimby