处理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();之前。

你可能感兴趣的:(处理JAVAWEB中乱码的问题)