Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

?や~の文字化けに関する質問です

私は、アルファポリスの小説をダウンロードするためにURLを入力するとその小説の本文をテキストデータで出力する様なプログラムを作成しました。
しかしここで問題が発生してしまって、出力されたテキストを見ると「?」や「~」といった記号が文字化けしてしまって「?」と出力されてしまいました。
例)
原文「??あなたは最初から、唯の保険として作られたんですよ」
出力「??あなたは最初から、唯の保険として作られたんですよ」

どうしてこうなってしまうのか自分なりに考えてみました(間違っているかもしれませんが参考程度に…)
目的の小説サイトに使われている文字コードはEUC-JPのため、URLを指定してHTMLソースを取得する段階ではEUC-JPのバイトコードを取得し、指定された(EUC-JP)文字コードによってバイトコードをデコードします。
しかしここでJAVAが扱うためにデコードされた文字列をUnicodeに変換、しかし「?」や「~」は変換時に何らかの問題で未定義のものとして変換されてしまい文字化けする。
ここで私はバイトコードを取得した段階で文字化けしてしまう?や~を検知してどうにかすれば良いのかもしれない(よくわかってないです)
と思いました。
しかし、私はjavaについても初心者でどのように解決すればいいか良くわかりません
どなたかアドバイスを頂けないでしょうか?

2

回答

276

閲覧

2件の回答

評価

0

上記についてこちらのサイトでも文字化けしまったのですが原文の先頭2文字は「だっしゅ」です

評価

10

「テキストデータで出力する」の内容も不明なんだが。

まずはどの段階で文字化けしているのかを特定する。
ブレークポイントでもいい、System.out.println()でもいい。
文字化けを誘発するコードが特定できたら、それについて情報がないか、ネットで検索してみる。
得られたものをとにかく試す。

「初心者」を理由として挙げるのはやめよう。最初は誰でも初心者だ。
何か問題が起こったとき、自分でできることを増やすことを考えよう。
それが「力を付ける」ということだよ。

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名