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="https://www.linuxidc.com/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");