处理JAVAWEB中乱码的问题
- 产生乱码的原因: 一般 jsp文件以 utf-8编码存储 而浏览器端默认处理中文使用gb2312编码。 tomcat处理request,response使用 iso-8859-1编码。
- 解决方案:
在page指令中指定如下属性:
pageEncoding="UTF-8" 页面使用UTF-8编码 contentType="text/html;charset=gb2312" 页面输出时使用gb2312编码
并在页面中加入以下代码: response.setContentType("text/html;charset=gb2312") (注:在String path = request.getContextPath(); 之前)
从get或post提交中获取输入时,应使用: new String(request.getParameter("param").getBytes("iso-8859-1"),"gb2312") 来获取param参数携带的值。 注意:必须要先判断 request.getParameter("param")!=null,否则getBytes方法会报空指针错误。
SQL Server数据库经过以上设置后,无需特别处理。 测试项目中SQLServerEncode.jsp中以GuestBook数据库为例。 注意:测试时先确认dbUtil类中的连接字符串的帐号密码正确。
Servlet中输入中文乱码时,必须加入 response.setContentType("text/html;charset=gb2312"); 并且此行必须位于 PrintWriter out=response.getWriter();之前。
不要让昨天的沮丧 让今天的梦想黯然失色
成功的人总是修改方法而不修改目标
微信公众号:javenlife