jsp+servlet中文乱码问题

jsp+servlet中文乱码问题

servlet想要获得前台传来的值

String strName=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
String strPass=new String(request.getParameter("secret").getBytes("ISO-8859-1"),"UTF-8");

jsp想要获得servlet传来的值

首先判断从数据库中取出时是不是乱码

			while(rs.next()){ 
				//判断从数据库取值是否出现乱码 
            	System.out.println(rs.getString("name"));

                String name = rs.getString("name"); 
				//判断赋值之后是否出现乱码
                System.out.println(name);

                String secret = rs.getString("secret");  
                String sex = rs.getString("sex");
                String datatime = rs.getString("birth");
                String addr = rs.getString("xueyuan");
                String nianji = rs.getString("nianji");
                String phone= rs.getString("phone");
                String email = rs.getString("email");
                String zhiwu = rs.getString("zhiwu");
                People  people= new People (name, secret,sex,datatime,nianji,addr,phone,email,zhiwu);  
                SearchList.add(people);  
            } 

查看页面是否进行了编码的统一,都设置成“UTF-8”或者“GB2312”,如果没有效果那就是servlet中response的问题了。
在servlet顶部中加入

	//设置响应内容类型 
	//把这句加上,且重启Tomcat即可,页面刷新即可。  
	 response.setContentType("text/html");  
     response.setCharacterEncoding("utf-8");

问题解决。

图片

原文地址:https://www.cnblogs.com/renxiuxing/p/8532038.html