OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

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

  • 困ってます
  • 質問No.210104
  • 閲覧数85
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 54% (27/50)

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

回答 (全2件)

  • 回答No.1

ファイルからの入力と、Appletでの表示にはそれぞれどのクラスのどのメソッドを利用されているのでしょうか。 また、NN、IEの6より前のものでは正常に表示されていたのでしょうか? ブラウザのバージョンが違う場合に上手くいくのであれば、ブラウザの問題というよりも、プラグインしているJREのバージョンが関係しているような気もします。 以上の情報を教えていただいて、私自身が回答できるかわかり ...続きを読む
ファイルからの入力と、Appletでの表示にはそれぞれどのクラスのどのメソッドを利用されているのでしょうか。

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

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

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

では、がんばってください。
補足コメント
nak205

お礼率 54% (27/50)

補足です。
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
お礼コメント
nak205

お礼率 54% (27/50)

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

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

どうもお騒がせしました。
投稿日時 - 2002-02-24 05:37:31


  • 回答No.2

細かいソースがわかりませんので、ずばりの回答ではありませんが、参考までに。 恐らくSJIS→Unicodeの変換が上手くいっていないのだと思います。 補足に書かれているReadBufferは、java.io.BufferedReaderクラスのことでしょうか? BufferedReaderクラスは、java.io.InputStreamReaderを利用するので、InputStreamR ...続きを読む
細かいソースがわかりませんので、ずばりの回答ではありませんが、参考までに。

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

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

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

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

では、がんばってください。
お礼コメント
nak205

お礼率 54% (27/50)

ありがとうございます。
今仕事中なので(オイ!)、今夜やってみます。
まずはお礼まで。
投稿日時 - 2002-02-04 17:58:09
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ