みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Netscape 6.1/6.2 IE6(win)でApplet上の文字化け

サーバ上のテキストファイルをAppletから読み込んで表示させるものを作ったのですが、最近Netscape 6.1/6.2 IE6(win/mac/linux)で文字化けしていることに気づきました。2バイト文字が全部□になってしまいます。元の文字はSJISです。
みんな同じ問題にぶつかって大騒ぎしていると思ったら、世の中しずかなもので。。。僕だけなのでしょうか。
だれか、同じような問題抱えている方、対処法ご存知の方いらっしゃいませんか?

投稿日時 - 2002-02-02 00:44:34

QNo.210104

困ってます

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

細かいソースがわかりませんので、ずばりの回答ではありませんが、参考までに。

恐らくSJIS→Unicodeの変換が上手くいっていないのだと思います。

補足に書かれているReadBufferは、java.io.BufferedReaderクラスのことでしょうか?

BufferedReaderクラスは、java.io.InputStreamReaderを利用するので、InputStreamReaderクラスのコンストラクタで明示的に、"SJIS"のエンコーディング名を指定すればよいような気がします。
(デフォルトでは、プラットフォームのエンコードとなっていますがアプレットの場合はサーバとブラウザのどちらの設定を見るのでしょうか?)

デフォルトのエンコーディング名を調べる場合は、InputStreamReaderのコンストラクタに、エンコーディング名を指定せずにインスタンスを生成後、InputStreamReader.getEncoding()を利用してください。

では、がんばってください。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/InputStreamReader.html

投稿日時 - 2002-02-04 17:41:21

お礼

ありがとうございます。
今仕事中なので(オイ!)、今夜やってみます。
まずはお礼まで。

投稿日時 - 2002-02-04 17:58:09

ANo.1

ファイルからの入力と、Appletでの表示にはそれぞれどのクラスのどのメソッドを利用されているのでしょうか。

また、NN、IEの6より前のものでは正常に表示されていたのでしょうか?

ブラウザのバージョンが違う場合に上手くいくのであれば、ブラウザの問題というよりも、プラグインしているJREのバージョンが関係しているような気もします。

以上の情報を教えていただいて、私自身が回答できるかわかりませんが、他の方にも補足になると思います。

では、がんばってください。

投稿日時 - 2002-02-04 15:18:03

補足

補足です。
kana-tanさん、ありがとうございます。

サーバ上のファイルの読み込みには
java.net.URLクラスのopenStream()をつかって、サーバ上のテキストファイルを読みに行きます。
ストリームを開いたら、java.io.ReadBufferクラスのreadLine()をつかって一行づつ読み込みます。

NN、IEの6より前のものでは正常に表示されていました。

開発環境は、MacOS 9/Jake1.1 と、Red Hat Linux 7.2/SDK1.3.1両方でコンパイルしてみましたが、結果は同じでした。

Unicodeとかとも関係あると思いますか?

投稿日時 - 2002-02-04 16:48:37

お礼

すみません、結果報告遅くなりました。

今回の問題は、エンコーディングとか色々変えてみたのですが、うまくいかず、苦し紛れにフォント指定をMS ゴシックやarialからHelbeticaに変えたらWindows版Netscape6.2、IE6でも文字化けがなくなりました。

どうもお騒がせしました。

投稿日時 - 2002-02-24 05:37:31

あなたにオススメの質問