
お世話になっております。
掲題の質問について、ご教示いただけないでしょうか。
【質問】
サーバーAのサーブレットA1より、
サーバーBのサーブレットB2へ漢字をPOSTしようとしています。
エンコードはサーブレットA1,B2ともにShift_JISを使用しています。
しかし、A1より送信した漢字のデータをB2で表示させると"?"になってしまいます。
どなたかサーブレットB2でもShift_JISとして、漢字表示させる方法をご教示ください。
【サーブレットA1の該当箇所】
URL url = new URL("サーブレットB2のURL");
HttpURLConnection conn = (HttpRLConnection) url.openConnection() ;
conn.setRequestMethod("POST");
conn.setRequestProperty("Accept-Language","ja");
conn.setDoOutput(true);
PrintWriter writer = new PrintWriter(new OutputStreamWriter(conn.getOutputStream() , "Shift_JIST") ;
writer.print("data=漢字");
【サーブレットB2の該当箇所】
public void doPost(HttpServletRequest req, HttpServletResponce resp){
try{
req.setCharacterEncoding("Shift_JIS");
resp.setContentType("text/html;charset=Shift_JIS");
System.out.println( req.geParameter("data") );
}catch(Exception e){
System.out.println(e);
}
}
以上、宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
ざっと見たところ、テキストをURLエンコードせず、そのままクエリー文字列にしているように見えますが。
送信する際にURLエンコードし、受け取った側でURLデコードすれば文字化けはしないと思います。エンコード
URLEncoder.encode(テキスト , エンコード名);
デコード
URLDecoder.decode(テキスト , エンコード名);
No.2
- 回答日時:
方法は幾つかありますが。
プリミティブな方法で。>>PrintWriter writer = new PrintWriter(new OutputStreamWriter(conn.getOutputStream() , "Shift_JIST") ;
>>writer.print("data=漢字");
↓
PrintWriter writer = new PrintWriter( conn.getOutputStream() );
writer.print( new String( "data=漢字".getBytes( "Shift_JIS" ) ) );
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
utf-8でメールを送信すると件名...
-
printfの%eで指数部分の桁数を...
-
バイナリとBCDコード
-
COBOLのCOMP形式について
-
PNGを24bppBMPに変換したいので...
-
cprintf()関数で2バイト文字を...
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
VB.NET LeftBの代用
-
Javaで日本語1文字のバイト数
-
'dataType' 引数を Null にする...
-
COBOL PICTUREで X,S,Vの意味
-
VB6で漢字の1バイト目か2バイト...
-
ピクセル,dpiから容量(バイト...
-
PHPのCookieが有るか無いかで、...
-
任意のアルファベットの2進表...
-
POSTメソッドの最大容量について
-
10個の実数に対する降順ソート...
-
DataGridViewの特定列に入力さ...
-
Line Inputにて改行があっても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ESC/Pのテキスト印字の制...
-
utf-8でメールを送信すると件名...
-
&jcode'convert(しても文字化け...
-
SQLServerへの出し入れで文字化け
-
CGI(Perl)の文字化けについて
-
文字コードsjisをUTF8に書き換...
-
CGIフォームから飛ばすメールが...
-
postmail ver4.3でメールを送る...
-
perlで英数字を取り出すには?
-
大文字と小文字を区別しない検...
-
cgiでの文字化け
-
応募フォームなどの住所欄で最...
-
PerlのCGIで全角スペースを入れて
-
Perlのcgi-lib.plでデコードさ...
-
これはなんて文字コードかわか...
-
CGIメールフォームのメールが文...
-
HttpURLConnection転送で漢字表示
-
CGIプログラムを使った申し込み...
-
CGIで記述した文字が 化け...
-
perl cgi のエンコード SHIFT...
おすすめ情報