JSP response request中国語文字化けし
JSPを初めて勉強して、responseを発見して、requestはすべて文字化けして、私を狂わせました.いろいろ悩んだあげく、何時か気づいた. Eclipseファイルエディタのデフォルト符号化はutf-8とは限らないので、開発前にデフォルト符号化を修正したほうがいいです.Eclipse-->windows->preference->General->Content Type->右側のContent TypeでText->JSPを選択してデフォルトコードをUTF-8 に変更 EclipseのworkspaceでエンコードされたEclipse-->windows->preference->General->Workspace->Text file encodingを変更してUTF-8に変更します.次に、JSPがrequestからデータを取得した後、原文がクライアントにフィードバックされます.
String strResponse = "";
request.setCharacterEncoding("utf-8");
ServletInputStream in = request.getInputStream();
BufferedReader br = new BufferedReader(
new InputStreamReader(in));
String strLine = null;
while (null != (strLine = br.readLine())) {
strResponse += strLine;
}
byte[] xmlData = strResponse.getBytes();
response.setCharacterEncoding("utf-8");
response.setContentType("text/html, charset=utf-8");
response.setContentLength(xmlData.length);
ServletOutputStream os = response.getOutputStream();
os.write(xmlData);
os.flush();
os.close();
out.clear();
out = pageContext.pushBody();