初学JSP,发现response,request都是乱码,弄得我都抓狂了。各种纠结之后,发现几点
Eclipse文件编辑器的默认编码不一定是utf-8,所以开发之前最好把默认编码修改下。
Eclipse-->windows->preference->General->Content Types-->右侧的Content Type中选中 Text->JSP 将默认编码改为“ISO-8859-1”修改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();