08.1 request对象|request.getParameter中文乱码解决
发表日期:2015-02-15 21:20:08 | 来源: | | 浏览(698) 分类:JSP基础
实例:
form.html内容:
<form action="request.jsp" method="post">
<input type="text" name="pname"/><input type="submit"/>
</form>
request.jsp内容:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%=request.getParameter("pname") %>//接收表单参数pname
当我们提交字母数字时正常,但是当我们提交中文时,却显示乱码!解决方法:
原因:自从Tomcat5.x开始,GET和POST方法提交的信息,Tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码。
方法一:(GET方法提交可能还是不能解决)
request.setCharacterEncoding("UTF-8");//设置接收的字符编码
【重点】但是记得必须将此代码放置到页面代码中任何request的上方,最好放到页面代码顶部,否则无效啊!
方法二:转换为字节数组:
<%=new String(request.getParameter("pname").getBytes("ISO-8859-1"),"UTF-8") %>
原因是表单提交时url默认是ISO-8859-1的字符编码提交方式,我们用字符数组以ISO-8859-1编码接收,然后输出为utf-8的字符串。【对get提交乱码很有效】
- JAVA(0)
- JAVA基础(30)
- JSP基础(50)
- 01.TOMCAT配置(0)
- 02.JSP标签形式(0)
- 03.@page指令(0)
- 04.包含指令(两种包含形式静态包含/动态包含)(0)
- 05.页面跳转指令<jsp:forward(0)
- 06.JSP中九个内置对象(0)
- 07.Tomact6.0/7.0+JAVA6.0+JSTL1.2配置(0)
- 08.0 四种属性范围(0)
- 08.1 request对象|request.getParameter中文乱码解决(0)
- 08.2 response对象(0)
- 08.3 session对象(0)
- 08.4 application对象(0)
- 09.安全配置(0)
- 10.javaBean介绍(0)
- 11.smartUPload(0)
- 12.0 Servlet简介(0)
- 12.1第一个Servlet程序(0)
- 12.2 Servlet读取配置(0)
- 12.3 Servlet取得内置对象-Session(0)
- 12.4 Servlet取得内置对象-Application(0)
- 13.1表达式语言-集合操作(0)
- 13.2表达式语言-内置对象(0)
- 14.绑定数据源(0)
- 15.JSP标签编程(0)
- 16.0.0 Jstl主要标签分类(0)
- 16.1.0 Jstl核心标签库<c:(0)
- 16.1.01 Jstl核心标签库<c:out(0)
- 16.1.02 Jstl核心标签库<c:set(0)
- 16.1.03 Jstl核心标签库<c:remove(0)
- 16.1.04 Jstl核心标签库<c:catch(0)
- 16.1.05 Jstl核心标签库<c:if(0)
- 16.1.06 Jstl核心标签库<c:choose、<c:when、<c:otherwise(0)
- 16.1.07 Jstl核心标签库<c:forEach(0)
- 16.1.08 Jstl核心标签库<c:forTokens(0)
- 16.1.09 Jstl核心标签库<c:import(0)
- 16.1.10 Jstl核心标签库<c:url(0)
- 16.1.11 Jstl核心标签库<c:redirect(0)
- 16.2.0.Jstl国际化标签库<fmt:(0)
- 16.3.0 JSTL-SQL标签库<sql:(0)
- 16.3.1 JSTL-SQL标签库<sql:setDataSource(0)
- 16.3.2 JSTL-SQL标签库<sql:query(0)
- 16.3.3 JSTL-SQL标签库<sql:update(0)
- 16.3.4 JSTL-SQL标签库<sql:param(0)
- 16.3.5 JSTL-SQL标签库<sql:dateParam(0)
- 16.3.6 JSTL-SQL标签库<sql:transaction事务处理(0)
- 16.4.0 JSTL-xml标签库<sql:x(0)
- 16.5.0 JSTL-函数标签库<sql:fn(0)
- 17.0.0 struts框架开发(0)
- 17.1.0 struct标签库(0)
- 17.1.1 struts框架bean标签库(0)
- 08.0 四种属性范围(0)
- 08.1 request对象|request.getParameter中文乱码解决(0)
- 08.2 response对象(0)
- 08.3 session对象(0)
- 08.4 application对象(0)
- 09.安全配置(0)
- 10.javaBean介绍(0)
- 11.smartUPload(0)
- 12.0 Servlet简介(0)
- 12.1第一个Servlet程序(0)
- 12.2 Servlet读取配置(0)
- 12.3 Servlet取得内置对象-Session(0)
- 12.4 Servlet取得内置对象-Application(0)
- 13.1表达式语言-集合操作(0)
- 13.2表达式语言-内置对象(0)
- 14.绑定数据源(0)
- 15.JSP标签编程(0)
- 16.0.0 Jstl主要标签分类(0)
- 16.1.0 Jstl核心标签库<c:(0)
- 16.1.01 Jstl核心标签库<c:out(0)
- 16.1.02 Jstl核心标签库<c:set(0)
- 16.1.03 Jstl核心标签库<c:remove(0)
- 16.1.04 Jstl核心标签库<c:catch(0)
- 16.1.05 Jstl核心标签库<c:if(0)
- 16.1.06 Jstl核心标签库<c:choose、<c:when、<c:otherwise(0)
- 16.1.07 Jstl核心标签库<c:forEach(0)
- 16.1.08 Jstl核心标签库<c:forTokens(0)
- 16.1.09 Jstl核心标签库<c:import(0)
- 16.1.10 Jstl核心标签库<c:url(0)
- 16.1.11 Jstl核心标签库<c:redirect(0)
- 16.2.0.Jstl国际化标签库<fmt:(0)
- 16.3.0 JSTL-SQL标签库<sql:(0)
- 16.3.1 JSTL-SQL标签库<sql:setDataSource(0)
- 16.3.2 JSTL-SQL标签库<sql:query(0)
- 16.3.3 JSTL-SQL标签库<sql:update(0)
- 16.3.4 JSTL-SQL标签库<sql:param(0)
- 16.3.5 JSTL-SQL标签库<sql:dateParam(0)
- 16.3.6 JSTL-SQL标签库<sql:transaction事务处理(0)
- 16.4.0 JSTL-xml标签库<sql:x(0)
- 16.5.0 JSTL-函数标签库<sql:fn(0)
- 17.0.0 struts框架开发(0)
- 17.1.0 struct标签库(0)
- 17.1.1 struts框架bean标签库(0)