本文章以 UTF-8 為例,傳統的做法是用:
String keyword
= new String(request.getParameter("keyword").getBytes("iso-8859-1"),"utf-8");
如果用 Tomcat 5.0.1.6 以上的版本是最好處理的,直接改 server.xml ,找到 Connector 加上紅字的部份就可以了。
<Connector port="8088" maxThreads="150"
minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8" />
另外如果要從 JSP 丟出一個 URL 的中文參數值,最好是用 URLEncode 的方式比較能確保的資料是正確的。
範例:
<a href=seach.jsp?keyword=<%= java.net.URLEncoder.encode(keyword,"UTF-8") %>>
再搜尋
</a>