• ベストアンサー

テキストファイルの文字コードMS932(Windows-31J)を読み

テキストファイルの文字コードMS932(Windows-31J)を読み込んで、 それをUTF-8に丸ごと変換してテキストファイル出力する方法を教えてください。 (直接MS932→UTF-8に、単純に変換出来るのでしょうか?  それとも途中(間)に、何か別の文字コードに変換してからでないと、  UTF-8に変換出来ないのでしょうか?) お世話になります。 宜しくお願い致します。

  • Java
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

javaで作る場合の中核部分だけ。 static final String Encodeing_MS932 = "MS932" ; static final String Encodeing_UTF_8 = "UTF-8" ; String OutputEncoding = Encodeing_EUC_JP_MS ; String InputEncoding = Encodeing_UTF_8 ; String OutputFile = "" ; String InputFile = "" ; BufferedReader inreader = null; BufferedWriter outwriter = null ; try { inreader = new BufferedReader( new InputStreamReader( new FileInputStream(InputFile) ,InputEncoding ) ); outwriter = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(OutputFile) ,OutputEncoding ) ); String xmlline; while ((xmlline = inreader.readLine()) != null) { outwriter.write(xmlline); outwriter.newLine(); } outwriter.close(); inreader.close(); } catch (Exception e) { } linuxならコマンドで変換できます。

hiroasa21
質問者

お礼

「SaKaKashi」様 お世話になっております。 おかげ様を持ちまして、 無事にJavaで実現出来ました。 本当にありがとうございました。

関連するQ&A

  • 文字コードMS932(Windows-31J)のテキストファイル(CS

    文字コードMS932(Windows-31J)のテキストファイル(CSVファイル)を、 MySQLのLOAD DATA INFILEでインポートしたところ、 漢字などの全角文字が文字化けしてしまいました。 その後、MySQL上で「show variables like 'character_set_database'」を SQL実行したところ、「utf8」と表示された為、 試しに、 元のCSVファイル自体の文字コードを、 テキストエディタで「UTF-8」に変換したCSVファイルを、 MySQLのLOAD DATA INFILEでインポートしたところ、 うまくインポート出来ました。 そこで、ご質問内容ですが、 MySQLのLOAD DATA INFILEでインポートする際に、 文字コードMS932(Windows-31J)のテキストファイル(CSVファイル)を、 直接、文字コードUTF-8のテキストファイルとして、 読み込ませながらインポートするような方法が、 もしございましたら、ぜひ教えてください。 もし、それが無理でしたら、 上記の文字コード変換する方法として、 どのような方法があるかなどをアドバイスいただけましたら幸いです。 お世話になります 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • テキストファイル 文字コード変換

    Mac OSX 10.9にて、pagesを使って文章作成をしています。 この文章をポメラDM5で閲覧・編集をしたいと思っています。 DM5はテキストファイル(shift-jis)のみを扱えるので、pagesの文章を標準テキストとして書き出したものをmiで開き、文字コードを変換しています。 ところが、文字コード変換を試みてもUTF-8にしかない文字があるので変換できない旨が表示され、変換ができないファイルがいくつかあります。 具体的にどの文字がひっかかるのかがわかれば対処のしようもあるのですが、miでは表示されません。 ネット上でUTF-8にしかない文字を調べ、元の文章内を検索してみましたが、らちがあきませんでした。 そこで、お聞きしたいのですが、 1.UTF-8のテキストファイルをshift-jisに変換するソフト等 その際、文字コードに依存する文字があったら自動変換、または強制的に変換(その文字だけ文字化けするなど)するもの ※なお、multi text converterというソフトはエラーで落ちてしまい、使えませんでした。 http://www.rk-k.com/software/mtc 2. テキストファイル中のUTF-8にしかない文字を発見して教えてくれるソフト等 3. その他の解決手段 のいずれか、有用なものを教えていただけると幸いです。 なお、windows系のPCも持っていますのでソフト等はMacにこだわりません。 できれば無料のソフトが良いのですが、難しければ有料のものでも構いません。 よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • UNIXなどで、テキストファイルの文字コードを、utf-8 → S-J

    UNIXなどで、テキストファイルの文字コードを、utf-8 → S-JIS に変換するコマンドがあれば教えてください。

  • テキストファイルの文字コードが

    フォルダの中にあるテキストファイルの文字コードが UTF-8なのかShift_JISなのか どうやって調べれば良いですか? プロパティを見てもわかりません。

  • 文字コードの変換

    今、C言語の勉強をしているのですが、 EUC-JPの文字コードのファイルを読み込んでUTF-8の文字コードのファイルに変換したい場合はどうすればいいのでしょうか? それか、ファイルに書き込む時に文字コードをEUCーJPからUTFー8に変換して出力する方法でもいいです。 調べ足りないのかもしれませんが色々調べてもよくわかりませんでした。 よろしくお願いします。

  • 文字コードの変換

    取得して保存したテキストファイルの文字コードを変換する方法が知りたいです。 ファイルはUTF-8で保存されていて、shiftjisに直して保存するにはどうしたらよいでしょうか?

  • 文字コードが変わってしまう

    Webページ作成関連の市販のテキストについているサンプルコードを自分のマシンにコピーして勉強しています。WindowsXPとWindows7を使っています。 たとえば、【今日問題なく使った】のに、翌日同じHTMLファイルのソースを見たら、文字コードが矢印に変わってしまっています。 改行コード変換ソフトで変換して、また元に戻して作業をしました。 翌日、他の部屋のマシン(WinXP)でそのファイルを開いたら、また文字コードが矢印に変わっていました。 詳しいことはわからないレベルですが、状況だけ書いてみました。 文字コードが変わってしまうタイミングってあるのでしょうか。関係ないかもしれませんが、書籍についてきたサンプルファイルの文字コードはUTF-8なので、文字コード変換ソフトでShift_JISに変更しました(なぜShift_JISにしたかは、特に意味はありません。UTF8がいいというのは聞いていますが、とりあえずShift_JISでやっています)。 難しい理論は理解できないと思いますが、どうしてそうなるかを教えていただける方がいたらお願いします。

  • htmlファイルの文字コードを変換するマクロ

    フリーソフトで変換することはできますが、エクセルのVBAで可能でしょうか? shift_jisから、UTF-8に変換したいです。 htmlファイル自体も、エクセルの内容をマクロで出力して作ったもので、 その次のステップとして、ファイル生成後に文字コードを変換したいのです。 マクロでhtmlファイル生成する時に文字コードを指定する方法もあるようですが、 今のマクロが複雑なので、そこへ組み込むことは諦めました。 ファイルのあるDドライブにあるフォルダを指定して、htmlファイルの文字コードを変換するマクロを教えて下さい。 お願い致します。 エクセルは2003、Window7です。

  • perlで読み込むテキストの文字コードは一般に何?

    Perl初心者です。 perlで簡単なソフトを作り、時々変化する情報をテキストファイルから読み込むようにしています。 昔は、Shift-jisでしたが、文字化け対策が嫌になり、UTF-8に統一しました。 皆様は、何を使われていますでしょうか? また、読み込みや出力には、そのファイルの文字コード指定していますか? 質問させていただいた動機について(無駄に長いです) 最近パソコン初心者の友達へ、プログラムを作ってあげたのですが、どうもうまく動かない。 設定ファイルに書いてある内容が何か合わないようです。 色々試行錯誤して、3日ほど悩んだ結果、相手のパソコンで編集(Vista)すると、BOMというものが付くことが分かり、とりあえず、それを削除することで無事動作致しました。 UTF-8であれば、文字コードなど気にせず万能だと思っていたのですが、これだけ悩まされると、UTF-8以外の方にもっと良い方法があるのではないかと思い質問させていただきました。

    • ベストアンサー
    • Perl
  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう