01 2015
在使用JSP的過(guò)程中,出現(xiàn)中文亂碼的問(wèn)題會(huì)叫人很難辦,小編根據(jù)以往的經(jīng)驗(yàn),總結(jié)除了一點(diǎn)經(jīng)驗(yàn),將如何解決JSP中文亂碼的問(wèn)題進(jìn)行總結(jié)。
1、JSP頁(yè)面亂碼
這種亂碼的原因是應(yīng)為沒(méi)有在頁(yè)面里指定使用的字符集編碼,解決方法:只要在頁(yè)面開(kāi)始地方用下面代碼指定字符集編碼即可。
2、數(shù)據(jù)庫(kù)亂碼
這種亂碼會(huì)使你插入數(shù)據(jù)庫(kù)的中文變成亂碼,或者讀出顯示時(shí)也是亂碼,解決方法:在數(shù)據(jù)庫(kù)連接字符串中加入編碼字符集String Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=GB2312"。
并在頁(yè)面中使用如下代碼:response.setContentType("text/html;charset=gb2312")。request.setCharacterEncoding("gb2312")。
3、中文作為參數(shù)傳遞亂碼
當(dāng)我們把一段中文字符作為參數(shù)傳遞個(gè)另一頁(yè)面時(shí),也會(huì)出現(xiàn)亂碼情況,解決方法:在參數(shù)傳遞時(shí)對(duì)參數(shù)編碼,比如RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords) 然后在接收參數(shù)頁(yè)面使用如下語(yǔ)句接收keywords=new String(request.getParameter("keywords").getBytes("8859_1"))。
4、JSP頁(yè)面亂碼加這句
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="err.jsp" %>