質問: jspファイルからajax通信でフォームデータをPOSTしたところ、java側で日本語データが文字化けします。 どなたか原因・解決法ご存じの方、回答よろしくお願いいたします。 ---------jsp------------- <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> $.ajax({ type: 'POST', url: $form1.mf('action'), data:$form1.serialize(), success: function(json){・・・ java側で request.getContentType() request.getCharacterEncoding() をしたところ ContentType:application/x-www-form-urlencoded; charset=UTF-8 CharacterEncoding:Windows-31J とでました。 フォーム入力文字→システム java側でコンソール出力→繧キ繧ケ繝?繝? java側でString.getBytes("Windows-31J"),"utf-8");をすると→シス???? と表示されます。 パラメータからのデータの取得前にrequest.setCharacterEncoding("UTF-8");としても 上手くいきません。 もともとはjspの文字コードをWindows-31J、javaへのデータの受け渡しはフォームのSubmitでPOSTしていた システムです。
回答: jspで setCharacterEncoding(utf-8) を指定したらどうですか?