server.xml:
url测试的jsp文件
服务器端接受文件:index.jsp
我的TomCat也重启过了,文件里都把编码设成了UTF-8,就是不知道问题出在哪,还望老师解答。
把要传的参数用URLEncoder.encode()编码一次,再传即可解决。
String nameParam = URLEncoder.encode(name, "UTF-8");
response.sendRedirect("book_delete_succ?name=" + nameParam);
我的也是这样
我用的eclipse,在你的工作目录下的server目录下也有一个server.xml文件,在这个文件里修改,我就是这么解决的。
我也有这样的问题,找不到解决方法好捉急
jsp文件里 contentType="text/html; charset=utf-8"是设置response回应的HTML编码,而你显示乱码是因为没有设置request接受时的编码格式。
用写这段代码
request.setCharacterEncoding(“utf-8”);
很有可能是你的server.xml,改编码的位置错了,你再仔细检查下,有两个connnect标签,你看看是不是写到另一个里去了,反正是写到另一个了,希望能帮到你
有可能时你使用了myeclipse2015自带的tomcat 然后自己修改了自行下载的tomcat文件 所以不行 (问我怎么知道 呵呵 我就是这么傻 过来的)QAQ
有一个办法,在接收端这样写:
<%
String username = request.getParameter("username");
username = new String(username.getBytes("ISO-8859-1"), "utf-8");
String password = request.getParameter("password");
password = new String(password.getBytes("ISO-8859-1"), "utf-8");
%>
你页面上的编码方式是这个吗<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>,是utf-8吗,编码要一致
再修改一下web.xml文件试试呢
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>