Web项目中前端页面通过URL传中文或 # 特殊字符到后台出现乱码解决方案

      

      对于刚入行新手来说碰到URL传递中文数据到后台出现乱码或是传递包含特使符号‘#’后端获取不到的情况是比较头疼的事,这里我就告诉你这两个的解决的方式;

       1.URL传递中文

    前端页面:中文字符串用 encodeURI(encodeURI())包裹后加入 URL连接中;
    在页面JSP页面中的URL:

       例:window.location.href = '/cm/configuration_management&compile='+encodeURI(encodeURI(“中文字符 串”)); 

  前端页面接收前端页面传来的中文

      例: var compile = decodeURI(compile);

  后端页面接收端页面传来的中文

       后端:中文字符串用 URLDecoder.decode(cph,"UTF-8");包裹后加入 ;

       例: String compile = URLDecoder.decode(compile,"UTF-8");//如果页面都是用UTF-8格式编码的话。


2.处理前端页面传递包含带特殊字符‘#’后端获取不到的情况

前端页面:特殊字符‘#用 encodeURIComponent( “#” )包裹后加入 URL连接中;

  例:window.location.href = '/cm/configuration_management&positionnum='+encodeURIComponent( “#” ); 

后端页面接收端页面传来的特殊字符‘#

String  positionnum = new String( positionnum.getBytes("iso8859-1"),"utf-8"); //在controller中接收转换


扫描二维码关注公众号,回复: 2889958 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_15204179/article/details/81010042