中文乱码

来源:互联网 发布:开淘宝必备软件 编辑:程序博客网 时间:2024/04/27 08:49

方法一:

1.  http://xxx.do?ptname='我是中国人

2.   

3.  String strPtname = request.getParameter("ptname"); 

4.   

5.  strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");   

6.   

方法二:

1.  <%@ page contentType="text/html;charset=gb2312" %> 

2.   

3.  <a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a> 

4.   

5.  <% 

6.   

7.  //request.setCharacterEncoding("GBK"); 

8.   

9.  if(request.getParameter("url")!=null

10.  

11.

12.  

13. str=request.getParameter("url"); 

14.  

15. str=java.net.URLDecoder.decode(str,"GB2312"); 

16.  

17. str=new String(str.getBytes("ISO-8859-1")); 

18.  

19. out.print(str); 

20.  

21.

22.  

23. %> 

24.  

25. ================================== 

26.  

27. public String chinatoString(String str) 

28.  

29.      { 

30.  

31.       String s=str; 

32.  

33.       try 

34.  

35.       { 

36.  

37.        byte tempB[]=s.getBytes("ISO-8859-1"); 

38.  

39.        s=new String(tempB); 

40.  

41.        return s; 

42.  

43.       } 

44.  

45.       catch(Exception e) 

46.  

47.       { 

48.  

49.        return s; 

50.  

51.       } 

52.  

53.     } 

54.  

55. ==================================================== 

56.  

57. function URLencode(sStr) 

58.  

59.     { 

60.  

61.       return escape(sStr). 

62.  

63.                replace(//+/g, '%2B'). 

64.  

65.                   replace(//"/g,'%22'). 

66.  

67.                      replace(//'/g, '%27'). 

68.  

69.                        replace(////g,'%2F'); 

70.  

71.     } 

方法三: 

如果用jstl的话,可以自己写一个elfunction,调用URLEncoder.encode来编码。 

IE
缺省对URL后面的参数是不编码发送的,但是tomat缺省是按ISO8859-1来进行URL解码,因此才会出现上述错误。好的做法是: 

1
、在URL参数中确保用UTF-8编码之,方法可以用js函数encodeURI(),或调用自定义的el function 

2
、设置server.xml中的Connector熟悉URIEncoding="UTF-8",确保解码格式与编码格式统一;

 

方法四:

1.  <script> 

2.   

3.  for(var i=0;i<document.links.length;i++){ 

4.   

5.  document.links[i].href=encodeURI(document.links[i].href); 

6.   

7. 

8.   

9.  </script> 

10.  

11. action中,String s=request.getParameter("s"); 

12.  

13. s=new String(s.getBytes("iso-8859-1"),"gbk");

 

0 0
原创粉丝点击