web乱码解决方案


各种乱码的情况


1.项目的编码格式和页面文件的编码格式不一样是否有冲突?

webProject项目的编码格式是“GBK” ,项目下的页面中的编码格式是“UTF-8”,实践发现,项目的编码格式和页面的编码格式不一样不会有任何问题,显示的中文没有乱码。    

     查看项目的编码格式可以在 项目-->右键-->Properties--> Text file encoding 框内显示的具体值就是项目编码格式。 

     查看页面文件的编码格式可以在 页面-->右键-->Properties--> Text file encoding 框内显示的具体值就是页面文件的编码格式。


2.页面的文件编码格式和页面内容的编码格式不一样是否有冲突?

在jsp中如果要显示正确的内容,并且保证其显示不乱码,必须要指定contentType 或者 pageEncoding 的属性与文件编码格式一致。并且如果他们都存在,那么pageEncoding必须与文件编码格式一致,contentType必须是中文编码格式才行。


3.通过URL传递中文参数的时候接收的乱码怎么解决?

<span style="background-color: rgb(204, 204, 204);"><span style="color:#9999FF;">http://localhost:8080/webProject/servlet/encodeServlet?param=中文</span>
</span>
request.setCharacterEncoding("UTF-8");  
String param = request.getParameter("param");  
param = new String(param.getBytes("iso-8859-1"),"UTF-8"); 


4.使用js函数编码之后,然后后台解码

  var param = encodeURI(encodeURI("中文"));  //这里编码必须调用两次,因为传递后台后java程序会解码一次,然后自己还要解码一次,  
    location.href="<%=request.getContextPath()%>/servlet/encodeServlet?param="+param;  

    //request.setCharacterEncoding("UTF-8");  
    //response.setContentType("text/html;charset=UTF-8");  
    String param = request.getParameter("param");  
    //param = new String(param.getBytes("iso-8859-1"),"UTF-8");//这个用于直接处理转换get请求的编码  
    //param = URLEncoder.encode(param);//这个是用于编码的方法  
    param = URLDecoder.decode(param);//这个是用于解码的方法  



5.利用PrintWriter输出的时候 出现乱码了

<span style="font-family:SimSun;">response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter(); 
out.print("接收的参数是:"+param); 
out.close(); </span>





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值