- - PR -
windowsで文字化けする。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-02 01:24
他の掲示板でダメそうなのでここで質問する。
fedoracore6でtomcat5.5を動かしてみる。 アプレット-サーブレット通信でクライアントがサーバと同じfedoracoreのときはいいのですが、 クライアントがウィンドウズxpになるとサーバで受信した文字が化けてしまいます。 なんとか直したいのでお願いします。 アプレット側通信関数 public String send(String s) { try { sock = new Socket(getParameter("ipAddress"),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: text/html; 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) { } } サーバー受信関数 public void service(HttpServletRequest req, HttpServletResponse res)throws ServletException,IOException { BufferedReader in; String str; try { in = new BufferedReader(new InputStreamReader(req.getInputStream(),"UTF-8")); str = in.readLine(); System.out.println("受信した文字列"+str); } } | ||||
|
投稿日時: 2007-04-02 09:59
単に近くの画面を表示するときのデータを見ただけで正しく知っているわけでありませんが、
Content-Typeにはtext/htmlだけでHTMLの中で <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> .. としています。XMLだとencoding宣言の中にかくので、encodingはContent-Typeにかかないのでは? | ||||
|
投稿日時: 2007-04-02 15:21
他の掲示板で話が進んでいるのでここにアドレスを記載する。 Javaの道−ウィンドウズで文字化け [追記] 過去の投稿でレスが付いているのに放置されているスレがあるようですが、レスが付いたスレにはちゃんと報告なりお礼を述べた方が良いかと思います。 [/追記] [ メッセージ編集済み 編集者: ペンちゃん 編集日時 2007-04-02 15:24 ] |
1