http請求是以ISO-8859-1的編碼來傳送url的
如果頁面的content-type爲utf-8,那麼在發送請求時,會將字符轉成utf-8後進行傳送
如: 中 的UTF-8編碼爲:E4 B8 AD在請求時爲%E4%B8%AD字節之間是%分隔
那麼服務器收到這段字節流後,必須將它轉成相應的字符,平時所使用的request.getParameter("name")直接得到了字符串,那麼從字節流到字符流這個過程系統己經幫助我們完成了(亂碼的產生由此開始)
new String(request.getParameter("").getBytes("ISO-8859-1"),"UTF-8")還原成原始字符串
轉載自:http://bbs.it-home.org/thread-778-1-1.html