解決Get和post請求中中文亂碼問題
阿新 • • 發佈:2019-01-22
1.1 post請求解決亂碼
1.對於Post請求,只需在Servlet或者jsp中寫入如下程式碼就可以把解決從表單中傳入的中文亂碼問題
request.setCharacterEncoding("utf-8");
String str=request.getParameter("name");
byte[] bytes=str.getBytes("ISO-8859-1");
String name=new String(bytes,"utf-8");
2.客戶端和伺服器在傳遞資料時可以用過濾器filter解決字元編碼問題。
<filter>
<filter-name
<filter-class>com.dinfo.servlet.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
1.2 get請求解決亂碼
1.使用編碼
客戶端和伺服器在傳遞資料時可以用過濾器filter解決字元編碼問題,但filter只能解決post方式提交的資料。對於get方式,可以使用兩次encodeURI(encodeURI(“ 中文”))並在伺服器中使用URLDecoder.decode(“中文”,"UTF-8");