表單用get方法傳遞中文,亂碼的解決。
檔案request_demo01.htm原始碼如下:
<html> <head><title>www.mldnjava.cn,MLDN高階Java培訓</title></head> <body> <form action="request_demo01.jsp" method="get"> 請輸入資訊:<input type="text" name='info'> <input type="submit" value="提交"> </form> </body> </html>
檔案request_demo01.jsp原始碼如下:
<%@ page contentType="text/html" %>
<html>
<head><title>www.mldnjava.cn,MLDN高階Java培訓</title></head>
<body>
<%
String content = request.getParameter("info");
%>
<h2><%=content%></h2>
</body>
</html>
檔案request_demo01.htm提交的表單輸入中文,出現亂碼。
解決方法:
方法一:將get改為post,並在request_demo01.jsp中String content前面加一句:requst.setCharacterEncoding("GBK")。
方法二:修改tomcat中Server.xml檔案,在Connector節點中加入:useBodyEncodingForURI="true",如下:
<Connector port="8080"
redirectPort="8443" acceptCount="100"
connectionTimeout="20000" useBodyEncodingForURI="true" />