因為request請求都是ISO-8859-1,而jsp頁面是采用UTF-8編碼,所以當傳遞的參數有中文時,頁面會出現亂碼,但是可以將取到的數據通過String的構造函數使用指定的編碼類型重新構造一個String對象解決亂碼問題
<%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.Date"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="top.jsp?name=王五&sex=男">解決亂碼</a> </body> </html>
<%@page import="java.text.SimpleDateFormat"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> name的參數為:<%=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8") %> <br> sex的參數為:<%=request.getParameter("sex") %> </body> </html>