サーバ Fedora Core 6 / tomcat5.5
クライアントもFedoraなら文字化けしません。
ウィンドウズxpから接続すると文字化けします。
アプレットのプログラムで送信する関数のみ抜粋した。引数sが送信する文字列でこれが文字化けします。送信した変数sをJLabelで表示するとウィンドウズでも文字化けしてなかった。そしてサーバー側のログは文字化けしていたのですが原因がわかりません。どうしたらいいですか?
//■アプレット側 文字列送信用関数
public void send(String s)
{
try
{
sock = new Socket(サーバのIPアドレス,9999);
//■サーバーに接続
fin = sock.getInputStream();
fout = sock.getOutputStream();
ffin = new InputStreamReader(fin);
in = new BufferedReader(ffin);
out = new PrintWriter(fout,true);
out.println("POST / HTTP/1.1");
out.println("Accept: */* ");
out.println("Accept-Language: ja");
out.println("Accept-Encoding: gzip,deflate");
out.println("User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
out.println("Host: "+getParameter("ipAddress"));
out.println("Content-Type: application/x-www-form-urlencoded; charset=UTF-8");
out.println("Content-Length: "+(s.getBytes("UTF-8").length));
out.println("Connection: Keep-Alive");
out.println("");
out.println(s);
}
catch(IOException e)
{
}
}
サーバー側 変数sの表示
public void service(HttpServletRequest req, HttpServletResponse res)throws ServletException,IOException
{
//■通信関係
PrintWriter out;
BufferedReader in;
//■入力した文字列
String st,str;
try
{
//■通信開始
in = new BufferedReader(new InputStreamReader(req.getInputStream()));
out = new PrintWriter(res.getOutputStream(),true);
//■文字列読み込み
st = in.readLine();
str = new String(st.getBytes("UTF-8"));
System.out.println("受信した文字列"+str);
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Servletを利用している場合、クライアントとの文字コードの差を吸収するには、主にフィルタを利用します。
クライアントの文字コードがSJISの場合、HttpServletRequestの文字コードがSJISになっています。
その為、Servlet側がUTF-8の場合、HttpServletRequestの文字コードをsetCharacterEncodingで変更してあげる必要があります。
これを全てのServletに記述するのは、メンテナンス性が非常に悪いので、Servletの処理が行う前にフィルタを使用して文字コード変換処理を噛ませてあげれば、フィルタが指定されているServlet全ての文字コードを変換することが出来ます。
↓のURLを参考にしてみて下さい。
参考URL:http://www.hellohiro.com/filter.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Perl perlについての質問 2 2022/10/17 15:25
- C言語・C++・C# [至急]Project Euler:#17Number letter countsコード入力出力解説 2 2022/09/24 02:46
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Ruby vscode 文字化け 1 2022/05/21 19:17
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
nullcline
-
会員情報登録プログラムの作成...
-
Javaでカレントディレクトリを...
-
java教えてください。
-
EclipseでJava
-
Javaのコマンドライン引数を使...
-
文字列の引き算
-
曜日の取得方法を教えて下さい!
-
構文解析中にファイルの終わり...
-
改行の判定方法
-
ファイル名に変数を使う(Java)
-
JAVA 三角形の判定
-
このjavaのコードのどこが間違...
-
JAVA 文字色変更
-
IF関数でEmpty値を設定する方法。
-
オブジェクトの中のプロパティ...
-
Java 入力した整数値の合計を、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
EclipseでJava
-
JAVAのエラーの意味が分かりま...
-
文字列の引き算
-
JAVA 文字色変更
-
改行の判定方法
-
エクセルマクロ文で、赤文字セ...
-
Javaでカレントディレクトリを...
-
JAVAのDouble型の小数点以下の...
-
DOMで要素の値がNULL
-
ファイル名に変数を使う(Java)
-
IPアドレスから組織やプロバイ...
-
Javaのプログラムがどうしても...
-
java int integer
-
java シンボルが見つかりません...
-
javaで判別式のプログラミング...
-
Javaプログラムについて質問で...
-
構文解析中にファイルの終わり...
おすすめ情報