response(servlet)输出数据乱码问题
2014-10-27 15:23
246 查看
1、采用 response.getOutputStream().write("中国".getBytes("utf-8")) 输出,乱码问题,原因是此方法输出的是字节流,采用的是utf-8,如果输出时的码表和浏览器打开所用的码表不同,就有乱码问题,浏览器默认用平台码(所在操作系统环境决定)打开。
解决方案:设置响应头:response.setHeader("Content-Type", "text/html;charset=utf-8");明确的指定浏览器打开的方式。
2、response.getWriter().write("中国");在网络中不能真的传输字符,传入此方法的字符最终也要查码表转为字节,服务器默认查ISO8859-1,而此码表中没有中文于是用了?替代,所以浏览器拿到的其实是两个? 。
解决方案:通过response.setCharacterEncoding("utf-8");明确指定服务器将response中的内容转为字节时采用的码表
设置响应头:response.setHeader("Content-Type", "text/html;charset=utf-8");明确的指定浏览器打开的方式。
上面两个乱码问题其实可以通过一行代码就可以处理,加上:
response.setContentType( "text/html;charset=utf-8"); //这一句必须放在输出语句之前
解决方案:设置响应头:response.setHeader("Content-Type", "text/html;charset=utf-8");明确的指定浏览器打开的方式。
2、response.getWriter().write("中国");在网络中不能真的传输字符,传入此方法的字符最终也要查码表转为字节,服务器默认查ISO8859-1,而此码表中没有中文于是用了?替代,所以浏览器拿到的其实是两个? 。
解决方案:通过response.setCharacterEncoding("utf-8");明确指定服务器将response中的内容转为字节时采用的码表
设置响应头:response.setHeader("Content-Type", "text/html;charset=utf-8");明确的指定浏览器打开的方式。
上面两个乱码问题其实可以通过一行代码就可以处理,加上:
response.setContentType( "text/html;charset=utf-8"); //这一句必须放在输出语句之前
相关文章推荐
- 【Servlet】Response的OutputStream与Writer输出数据乱码的问题
- response小结(一)——用response向客户端输出中文数据(乱码问题分析)
- JavaEE中用response向客户端输出中文数据乱码问题分析
- response的Writer输出数据的问题输出中文的乱码问题
- JavaEE中用response向客户端输出中文数据乱码问题分析
- JavaEE中用response向客户端输出中文数据乱码问题分析
- JavaEE中用response向客户端输出中文数据乱码问题分析
- Servlet输出中文乱码 & response.setContentType()中MIME参数类型总结
- 如何解决Php(adodb)输出Mysql中数据乱码问题!
- Servlet输出乱码问题
- servlet 中文乱码问题 和 如何输出讲解
- Jsp servlet页面数据乱码问题解决(默认mysql数据库)
- informix查询中文数据输出乱码问题解决
- 通过response的write留输出数据的问题
- 使用HttpServletResponse.setContentType();解决输出文件流乱码
- 用el表达式显示jquery请求servlet数据的中文乱码问题
- PrintWriter out = response.getWriter() 输出中文乱码问题
- HttpServletResponse输出中文的问题
- 在servlet中用outputStream输出数据以及中文数据的问题
- [JSP] 利用Filter解决Servlet输出中文乱码的问题