欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于JSP中在url中传递中文参数乱码的问题

程序员文章站 2022-04-03 16:52:41
...

今天在做JSP练习时,想把提示信息,重新定向到原有页面。传递过程中,使用了中文参数值,到重定向的时,发现中文全乱码了,刚开始,还以为是页面的接收的问题。细看,发现url中的get参数,本身就有问题。然后查资料核实,发现重定向时,必须对中文进行编码转换。转换如下:

<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
        String username=request.getParameter("username");
	String password=request.getParameter("password");
	String error_info;
	String encode_info;
	if(!username.equals("tt001")){
                //出于安全,一般在开发中都使用模糊提示
		error_info="用户名或密码错误";
                //重定向和编码转换核心代码
		encode_info=URLEncoder.encode(error_info,"UTF-8");
		response.sendRedirect("/login.jsp?message="+encode_info);
		return;
	}
	if(!password.equals("test123")) {
		error_info="用户名或密码错误";
		encode_info=URLEncoder.encode(error_info,"UTF-8");
		response.sendRedirect("/login.jsp?message="+encode_info);
		return;
	}
	out.println("登录成功");

%>