JAVA開發中文亂碼的幾個解決方案
一:html亂碼或者引入的JS亂碼
1:第一步,text file encoding
首先確保文件的保存格式要UTF-8,如在eclipse中,要在文件上點屬性,確保這裏選擇UTF-8
註意,在eclispe中默認創建的js文件,其encoding是gbk的,註意一定改回來。
2:pageEncoding
確保html文件或者jsp文件的pageEncoding為utf-8。
註意,eclipse創建的默認的html或jsp文件,其pageEncoding是iso-8859-1,一定要改回來,如下:
其它要註意的
如果一開始忘記把pageEncoding改回來,然後在文件中輸入中文,這個時候將text-file-encoding改為UTF-8的話,文件中已經存在的中文會變為亂碼。
二:網頁POST傳值過程中的亂碼
假設A網頁POST傳值給B網頁。首先要確保A網頁滿足上文一中的描述,其次,在B網頁,需要做如下處理:
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String empno = request.getParameter("empno");
三:網頁URL傳值過程中亂碼
首先,A網頁的URL進行編碼,類似:
<a href="delete.jsp?ename=<%=java.net.URLEncoder.encode(rs.getObject("ename").toString(),"utf-8")%>">刪除</a>
然後,在B網頁,需要:
String msg = request.getParameter("ename");
String ename=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
JAVA開發中文亂碼的幾個解決方案