MyEclipse開發JSP時表單中文問題解決
每次新建一張JSP頁面時,可以先將其編碼方式做一修改,可以看到首行有一條編碼信息:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
可以修改如下:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
現在將表單提交到一個Servlet程序中,如果是Post方法提交表單,其解決方法比較簡單,可以在程序的實現前對其編碼進行設置:
//POST方法中文亂碼的解決方法 request.setCharacterEncoding("GBK"); response.setContentType("text/html;charset=GBK"); PrintWriter out = response.getWriter();
然后直接通過
request.getParameter("username")即可解決。
如果采用Get方法,將其設置為GBK還是不行的,必須進行一個強制類型的轉換,也就是將獲取的字符串用ISO-8859-1進行編碼,并將編碼存放到一個字節數組中,然后將整個數組轉化為字符串對象即可,代碼如下
//GET方法中文亂碼采用強制轉換 String username = request.getParameter("username"); username = new String(username.getBytes("ISO8859-1"),"GBK"); out.print(username);