初学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();