首页 > 代码库 > Servlet(六)中文乱码问题
Servlet(六)中文乱码问题
出现中文乱码的原因:
浏览器(请求) 与 服务器(默认编码是iso-8859-1,服务器处理和响应返回) 之间的编码格式不一致
(1)post
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
(2)get
String username=new String(request.getParameter("username").getBytes("ios-8859-1"),"utf-8");
response.setContentType("text/html;charset=utf-8");
(3)sendRedirect();
只是多了个重定向,数据传递浏览器(请求) -----> 服务器(服务器重定向响应) ------> 浏览器 (重定向请求)------> 服务器 (响应返回)
只需对每次http请求响应都做get或post处理即可
特殊:1、ie6一下版本对奇数数据量可能仍然产生中文乱码
2、实现浏览器下载文件带中文文件名时也可能出现乱码
解决:此时需要使用urlencode对数据变量做url编码
Servlet(六)中文乱码问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。