• ベストアンサー

EUCのテキストファイルを読み込むと「文字化け」してしまいます

momozangeの回答

  • momozange
  • ベストアンサー率67% (21/31)
回答No.3

文字コードの相違によるファイル入出力をもう一度確認するとよいと思います。 Javaの文字列はすべて内部Unicodeです。 ファイルの文字コードがなんであれ関係ありません。 問題はそのファイルの入出力ストリームからどの文字コードで 内部Unicodeとして保持するかです。 今回の場合はファイルがEUCで保存されている以上 Inputのストリームにそれを通知しなければなりません。 省略した場合は基本的にJavaが実行されているプラットフォームに依存した 文字コードを使用するようになっています。 ですからEUC_JPで保存されたファイルにアクセスするのであれば new InputStreamReader(in, "EUC_JP"); とするべきなのです。 >元のテキストファイルのエンコード方式をShift-JISにすれば直るんですが これは単にWindows上で実行した結果(たぶん)文字コードの変換テーブルに 差異が少なく、結果的にうまくいったように見えているのです。 Windowsの場合デフォルトエンコーディングはMS932です。 もちろん出力時に文字コードを指定する際も同じです。

katsunodon
質問者

補足

質問者です。 親切で詳しい回答ありがとうございました。 早速やってみましたが、うまくいきませんでした。 "EUC_JP"を追記すると何も表示されなくなります。 ちなみにその部分を"Shift_JIS"にすると何も書かない場合と同様に、文字化けしたものが表示されます。 これはどうしてなんでしょうか……。

関連するQ&A

  • 文字化けするんです

    私はMicrosoftOutlookからメールを送っているのですが、au(ezweb)の友人に送ると、文字化けするといわれてしまうのです。 皆さんはそのようなことは無いでしょうか? ちなみに、エンコードはJIS EUC シフトJIS と試してみたのですが・・・。

  • シフトJISにてデコード 文字化け

    EUC-JPを用いてエンコードすると「A4 AD A4 AB A4 A4 A4 AB A4 AC A4 AF BA B0 BD」となった文字列を保存したテキストをシフトJISでデコードした場合に表示される文字列は何ですか?文字化けするらしいのですがわかりません。分かる方教えてください!

  • DreamWeaverの文字化け

    DreamWeaverでHTMLファイルを開こうとすると、 HTMLファイルの文字コードによって 文字化けしてしまいます。 具体的には、EUCとシフトJISで作成されたファイルを編集しようとすると、文字化けします。 どの文字コードのファイルを開いても 文字化けしない方法はあるのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • DropBox テキストファイルの文字化け

    標記の件、PCで作成したテキストファイルを ストレージ上にアップロードし、iPhone4 で当該ファイルを 開くと、全文が文字化けをして読めないものがあります。 他のテキストファイルは、何ら問題ないのにもかかわらず、 特定のファイルのみがReadできません。 環境依存の文字は使用しておらず、またエンコードも Shift-JIS です(読み込みができる他のファイルと同様の形式です)。 1.新しくテキストファイルを作成し、 2.コピー&貼り付けし、 3.リネームして保存 しても、やはり文字化けしておりました。 対処方法について、お知恵のある方、御教示ください。

  • テキストファイル(英語&日本語)を読む時に文字化けいたします

     今晩は,いつも勉強させていただいております. 質問させていただきます.どうぞよろしくお願いいたします.  テキストファイル(ほとんどが自作のFortranコードで,英語と日本語のみで ございます)を読み込みたいのですが,全角文字の読み込み (下記コードになります)で文字化けいたします..  Dim SR As New System.IO.StreamReader(FileName, System.Text.Encoding.GetEncoding(51932))   '↑ここのエンコード(?)が怪しいのでは,などと考えている次第です.  Dim text As String = SR.ReadToEnd()  MsgBox("/" & text & "/")    '↑「text」が化けます...  エンコード(?いまいち理解しておりませんorz)の種類がおかしいのでは, というところまでなんとか行き着きまして,色々と検索いたしておりますと  http://www.atmarkit.co.jp/fdotnet/dotnettips/013enumenc/enumenc.html にまとめてくださっておりましたので,思いつく数字を「51932」の代わりに 入れてみましたが,どれも全角文字が文字化けいたします.. 「0 shift_jis 日本語 (シフト JIS) 」 「932 shift_jis 日本語 (シフト JIS) 」 「1200 utf-16 Unicode 」 「51932 euc-jp 日本語 (EUC) 」「1200 utf-16 Unicode 」  もしかすると別の部分に問題があるのかもしれませんが.. 調べておりますと, http://dobon.net/vb/bbs/log3-25/15325.html などよく似た症状なのですが,真似いたしましても解決いたしませんでした・・  もし,日本語と英語のテキストファイルすべてに通用するようなお勧め エンコード方法のようなものがございましたら,ご紹介いただきたくお願い申し上げます.  お詳しい方がいらっしゃいましたら,是非ともアドバイスいただきたく どうぞよろしくお願いいたします

  • 文字化けの件ですが

    Google chromeであるサイトが文字化けしたので原因を調べ、エンコードを 日本語(EUC-JP)にしたら直りました。 しかし元のShift-JISに戻さなかった場合、 shiftーJISで見れていたページが文字化けすることはありうるのでしょうか

  • テキストファイルが文字化けし、エンコード不能に

     システムロケールを英語(英国)に変更したら、デスクトップ上に保存していたテキストファイルが文字化けしました。日本語に戻してもそのままの状態です。  IEでファイルを開き、右クリックでエンコードを選択して日本語(シフトJIS、EUC)に変換してもうまくいきません。  Web上の複数の変換ツール(UnicodeUTF-16やUTF-8を日本語に変換)にテキストを張り付けて変換しても同様です。  大切なファイルの2つが文字化けしたのですが、バックアップしておらず非常に困っています。  どなたか、元の文章を復元する知恵を貸していただけませんか?  一例として、1行目はこのようになっています。数字だけは、残っています。 「@ƒPƒ“ƒR[ƒRƒ€@@@2,205@‰»Ï•i 」  【備考】 ・ロケール変更は、BattleField4というゲームをする際に出るエラーを回避するために行いました。 ・IEでテキストファイルを開き、エンコードにカーソルをあわせると、「Unicode」に丸がついてグレーアウト表示されます。※Unicode(UTF-8)ではありません。

  • 文字列について

    文字列をEUC-JPを用いてエンコードして保存したテキストをシフトJISにてデコードした場合に表示される文字を示せ。 JIS X 0208区点番号表は与えられています。 分かる方いれば是非教えてください。

  • 文字化けについて

    送ったメールがたまに文字化けします。 文字化けするときは全部がすると思います。 そこで、テキスト形式で送る。文字コードを日本語にするとしてみたんですが直りませんでした。Microsoft Outlookを使ってるんですが、「エンコードオプション」というのに日本語が4つありEUC,JIS 1バイト カタカナ可,JIS,ソフトJISとあります。 どれにしたらいいんでしょうか?ちなみに今はソフトJISになっています。 それと、「送信メッセージのエンコード方法を自動選択する」というのはチェックを入れたほうがいいんでしょうか? 携帯やフリーメールに送ったら文字化けする気がするのですが、それらに送っても文字化けしないときやそれら以外に送っても文字化けするときがあります。 特に特殊な記号も使っていません。?や!ぐらいです。 よければアドバイスください。よろしくお願いします。

  • DreamWeaverでEUCが文字化けする。

    DreamWeaverを使ってホームページを作っています。 最初S-JISでHPを作っていたのですが、CGIページを作る際にEUC-JPの方日本語の文字処理上都合が良かったため、CGIページをEUC-JPにしました。 そこで今までDreamWeaverで作った他のページもテキストエディタで 文字コード EUC-JP、 改行コードをUNIX形式、 HTML中のcharset=EUC-JP にしたのですが、今度はDreamWeaver上で日本語が文字化けするようになってしまいました。 DreamWeaverで普通にEUC-JPが文字化けせずに表示させるには一体どのようにしたらよろしいのでしょうか。 ご存知の方がいらっしゃいましたら教えて下さい。 よろしくお願いします。