JAVA8にて以下を行いたいです。
・SJISのhtmlファイルをUTF-8に変換
■経緯
SJISのhtmlのファイル自体の文字コードセットを変換するために
手動でサクラエディタなどの「上書き保存」ダイアログで
文字コードを変換しています。
(以下は例です)
その場合は
・ファイル自体の日本語が文字化けせず
・ブラウザにてcharsetがUTF-8で正常に表示
されます。
これを手動ではなくJAVAで実現したいのですが
・ファイル自体の日本語が文字化け
したり
・ファイルをUTF-8で作成しているのに出力ファイルの文字コードセットがSJISになってしまう
という現象が起きており、なかなかうまくいきません。
例えば以下のコードだと
・ファイル自体の日本語が文字化け
・ファイル自体の文字コードセットがSJIS
になってしまいます。
どうしたら
・ファイル自体が文字化けせず日本語が表示される
・ファイル自体の文字コードセットがUTF-8
に出来るのでしょうか。
public
1 2 3 // 改行コード定義 4 String zero_a = "\n"; 5 6 7 final String FROM = "SJIS"; 8 FileInputStream fis=new FileInputStream("C:\test\html\sample.html"); 9 InputStreamReader isr=new InputStreamReader(fis,"SJIS"); 10 BufferedReader br=new BufferedReader(isr); 11 12 13 14 // FileOutputStreamで文字コード・改行コードを指定(UTF-8,\n) 15 PrintWriter pw2 = new PrintWriter( 16 new BufferedWriter( 17 new OutputStreamWriter( 18 new FileOutputStream 19 ("C:\test\html\henkan.txt"),"UTF-8"))); 20 21 String line; 22 String str; 23 while((line =br.readLine()) != null) { 24 byte[] b = line.getBytes(); 25 //文字コードをUTF-8に変換する 26 str = new String(b, "UTF-8"); 27 System.out.println(str); 28 pw2.print(str+zero_a); 29 //bw.newLine(); 30 } 31 br.close(); 32 //bw.close(); 33 34 35 36 pw2.close(); 37 38 } 39コード
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/21 00:42
2021/10/21 04:06