request.setCharacterEncoding("UTF-8");
在服务器端,要转变请求的字符串编码,用request.setCharacterEncoding("UTF-8");这个方法要放在jsp代码的request.getParameter()方法前面。如
<%@page contentType="text/html" pageEncoding="GBK" session="false" %><% request.setCharacterEncoding("UTF-8"); String username = request.getParameter("username"); System.out.println("userName;--->" + username); response.setCharacterEncoding("UTF-8"); System.out.println("---------------------------------------"); username = request.getParameter("username"); System.out.println("after request set encoding userName;--->" + username); } %>
如果不是getParameter()前面,比如放在
String username = request.getParameter("username"); System.out.println("userName;--->" + username);
后面的话,request.setCharacterEncoding("UTF-8");这句转码等于没转,具体原因还没研究清楚。不过,可以放在String queryString = request.getQueryString()的后面,比如:
<%@ page contentType="text/html;charset=GBK" %><% String queryString = request.getQueryString(); String reqEnc = getQueryValue(queryString,"req_enc="); if(reqEnc!=null){ request.setCharacterEncoding(reqEnc); } String respEnc = getQueryValue(queryString,"resp_enc="); if(respEnc!=null){ //out.println(respEnc); response.setCharacterEncoding(respEnc); } %><%!String getQueryValue(String queryString,String key){ if(queryString==null || queryString.length()==0)return null; int reqIdx = queryString.indexOf(key);//req_enc=utf-8&resp_enc=gbk String enc = null; if(reqIdx!=-1){ reqIdx = reqIdx+key.length(); int endIdx = reqIdx; for (; endIdx < queryString.length() && queryString.charAt(endIdx)!='&'; endIdx++) { } if(endIdx>reqIdx){ enc = queryString.substring(reqIdx,endIdx); if(!enc.equalsIgnoreCase("gbk") && !enc.equalsIgnoreCase("utf-8")){ enc = null; }else{ System.err.println("error :"+key+" is "+ enc); } } } return enc; }%>
request.setCharacterEncoding(reqEnc);就是要放在request.getParamter()方法前面才会生效。
相关推荐
JAVA过滤器filter request.setCharacterEncoding仅对POST提交起作用,对GET提交还是会出现乱码问题
首先要知道这里的request为HttpServletRequest,如果我们打印request的话,发现打印出的类型为 RequestFacade(package org.apache.catalina.connector; public class RequestFacade implements HttpServletRequest )...
首先,说说JSP/Servlet中的几个编码...charset=UTF-8"、request.setCharacterEncoding("UTF- 8")和response.setCharacterEncoding("UTF-8"),其中前两个只能用于JSP中,而后两个可以用于JSP和 Servlet中。 。。。。。
tiles-request-servlet-wildcard-1.0.1.jar, tiles-request-velocity-1.0.1.jar, tiles-servlet-2.2.2.jar, tiles-template-2.2.2.jar, tiles-velocity-3.0.1.jar, velocity-1.6.4.jar, velocity-tools-1.3.jar, ...
下午终于实现了jsp连接MySQL执行插入操作的功能。在index.jsp页面输入数据,提交到mysql——insert.jsp页面进行插入... request.setCharacterEncoding(“UTF-8”); response.setCharacterEncoding(“UTF-8”); respo
2、写过滤器,设置request.setCharacterEncoding("UTF-8")。 3、javascript脚本里用encodeURI(str)。 4、适当的时候,在jsp里用java.net.URLDecoder.decode(request.getParameter("str"),"UTF-8")。 5、最容易忽略的...
python库,解压后可用。 资源全名:latex2mathml-2.6.6-py2.py3-none-any.whl
微信小程序 请求 封装, promise, 请求并发限制, 排队请求, ...wx-request-master.zip
jmeter压测grpc接口需要的jar包
<% request.setCharacterEncoding("UTF-8");%> 您的姓名是:<%=request.getParameter("name")%> 您的密码是:<%=request.getParameter("pwd")%> 你的职业是:<%=request.getParameter("career")%> ...
jsp指令:... request.setCharacterEncoding("utf-8"); 获取页面数据: String name=request.getParameter(""); String[] names=request.getParameterValues(""); 转发,可以保留值:
Netty-socketio 是一个 Java 语言版本的 Socket.IO 服务器的实现,基于 Netty 框架开发。特性:Supports 0.7...0.9.16 (netty-socketio 1.6.6) and 1.0 (netty-socketio latest version) version of Socket.IO-...
tar -zxvf setuptools-41.1.0.post1.tar.gz cd setuptools-41.1.0.post1/ python setup.py install tar -zxvf pip-19.2.2.tar.gz cd pip-19.2.2 python setup.py install # CA 认证模块 pip install certifi-2019....
tiles-request-servlet-wildcard-1.0.1.jar tiles-request-velocity-1.0.1.jar tiles-servlet-3.0.1.jar tiles-template-3.0.1.jar tiles-velocity-3.0.1.jar tomcat-juli.jar velocity-1.6.4.jar velocity-tools-...
资源分类:Python库 所属语言:Python 资源全名:request_id-1.0-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python库,解压后可用。 资源全名:socket_request-0.1.19-py3-none-any.whl
资源分类:Python库 所属语言:Python 资源全名:drf_request_client-1.0.0a1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:socket_request-0.1.19-py3-none-any.whl
主要介绍了java request.getHeader("user-agent")获取浏览器信息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧