Jsp URL傳參亂碼問題
JSP的頁頭:<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*"
errorPage=""%>
<meta http-equiv="Content-Type" content="text/html; charset=SJIS" />
<% request.setCharacterEncoding("UTF-8"); %>
Tomcat的server.xml中: <Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>
url傳參時:<a href="go?name1=<%=URLEncoder.encode("你好","UTF-8") %>&name2=<%=URLEncoder.encode("前払金 ","UTF-8") %>&name3=abc">go</a>
Servlet端獲取值時:String name1 =new String(request.getParameter("name1").getBytes("ISO-8859-1"),"UTF-8");
String name2 =new String(request.getParameter("name2").getBytes("ISO-8859-1"),"UTF-8");
String name3 =new String(request.getParameter("name3").getBytes("ISO-8859-1"),"UTF-8");
打印出來的結果:name1:你好 ------中文傳參
name2:前払金 ------日文傳參
name3:abc -------英文傳參
利用這種方法,其實只要是utf-8能顯示的字符,無論是什麼語種,都可以傳參顯示,沒有亂碼。