精华内容
下载资源
问答
  • tomcat默认编码是ISO8859-1 通过下面的编码转换: fileName=new String(fileName.getBytes(“ISO8859-1”),”utf-8”);

    tomcat对url默认编码是ISO8859-1
    通过下面的编码转换:
    fileName=new String(fileName.getBytes(“ISO8859-1”),”utf-8”);

    展开全文
  • 传参(例子)  string servicenum = Server.UrlEncode(this.gvOutDialerHistoryRecord.Rows[iRowIndex].Cells[0].Text.ToString()); //解决直接传参乱码问题 string result = Server.UrlEncode(this.gvOutDia...

    传参(例子)

                string servicenum = Server.UrlEncode(this.gvOutDialerHistoryRecord.Rows[iRowIndex].Cells[0].Text.ToString()); //解决直接传参乱码问题
                string result = Server.UrlEncode(this.gvOutDialerHistoryRecord.Rows[iRowIndex].Cells[8].Text.ToString());//解决直接传参乱码问题

                this.Response.Write("<script>window.open('CallRecordResult.aspx?parameternumber=1&servicenum=" + servicenum + "&result=" + result + "','','height=438,width=550,left=190,top=10,resizable=no,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no')</script>");             

     

    接收(例子)

                parameternumber = int.Parse(Request.QueryString["parameternumber"]);
                servicenum = Server.UrlDecode(Request.QueryString["servicenum"].ToString()); //解决直接传参乱码问题
                result = Server.UrlDecode(Request.QueryString["result"].ToString()); //解决直接传参乱码问题

    展开全文
  • web前端页面解决中文传参乱码问题

    千次阅读 2017-09-06 09:04:00
    web前端页面解决中文传参乱码问题  问题背景:在项目中往往会涉及到前端跳转页面时要传一些参数给下一个页面,如果参数是英文或者数字的时候就很好解决,然而有时候传参会涉及到中文汉字,这个时候再...

      问题背景:在项目中往往会涉及到前端跳转页面时要传一些参数给下一个页面,如果参数是英文或者数字的时候就很好解决,然而有时候传参会涉及到中文汉字,这个时候再单纯的拼接往往就会导致中文乱码,下面我们就该讨论一下如何解决中文传参乱码的问题。

      假设A页面跳转到B页面并且A向B传参,首先在A页面中要调用这个方法:encodeURI("这里是中文参数");

      完整的拼接效果为:         

      window.location.href="B.html?&title="+encodeURI("这里是中文参数"); 

      至此页面中文传参已经完成,下一步就是如何把参数给翻译成中文,那么再跳到B页面进行处理。

      解码代码也只是一句:decodeURI("需要转码的链接");

      而要获取参数,则需要分析链接并做正则匹配进行截取,全部代码如下:  

      //截取链接传过来的参数
      var url=window.location.href; //获取当前页面的url
      url = decodeURI(url);//转码
      var len=url.length; //获取url的长度值
      var a=url.indexOf("?"); //获取第一次出现?的位置下标
      var b=url.substr(a+1,len); //截取问号之后的内容
      var c=b.split("&"); //从指定的地方将字符串分割成字符串数组
      var arr=new Array(); //新建一个数组
      for(var i=0;i<c.length;i++){
        var d=c[i].split("=")[1]; //从=处将字符串分割成字符串数组,并选择第2个元素
        arr.push(d); //将获取的元素存入到数组中
      }

    至此,前端页面间的传中文参数乱码的问题就得到解决了。

    posted on 2017-09-06 09:04 <&nbsp/> 阅读( ...) 评论( ...) 编辑 收藏

    转载于:https://www.cnblogs.com/zhangdiIT/p/7482861.html

    展开全文
  • url 中文传参 乱码

    2015-09-17 16:04:54
    [color=blue]开发一直用firfox网页,调试什么的都很方便。所以遇到了浏览器之间的兼容问题。url中文传参。 问题:前台用url传值中文,后台用request.getParameter接收参数。 用firfox,chrome等没有问题。用ie会...
    [color=blue]开发一直用firfox网页,调试什么的都很方便。所以遇到了浏览器之间的兼容问题。url中文传参。
    
    问题:前台用url传值中文,后台用request.getParameter接收参数。
    用firfox,chrome等没有问题。用ie会出现接参乱码现象。

    上网查了一下,算了,还是把原文帖上来吧。比较容易懂。

      让jsp正确解释含有中文的URL以及传递中文参数是一个很有用的特性,也是比较复杂的。我去年的一个小项目中就碰到了在URL中传递中文参数的问题,但是当时由于对Jsp还不是很熟悉,所以没有解决这个问题因而舍弃了一部分功能。
      
      但是,这个问题确实得解决,因为在即将展开的一个项目中肯定得用它。于是,今天花了一天的时间来研究这个问题,好在功夫不负有心人,现在问题终于解决了。下面就做一下介绍:
      
      IE、Firefox、Opera三种浏览器对URL的传输的处理各不相同,浏览器在传输URl时得对URL进行编码,IE默认是以UTF-8来传输的,Opera可能也是以UTF-8编码的,Firefox经过测试肯定不是以UTF-8来编码的,有可能是以ISO-8859-1来编码的。所以如果不对中文进行处理,那么中文字符经各个浏览器以自己的编码方式传输到服务器后就出现了各种编码方式,而服务器却只能以一种编码方式来对接收到的URL进行解码。这样的话,和服务器使用的编码方式一样的浏览器在使用带中文的URl时不会出现问题,其他的浏览器则会出现问题。
      
      所以解决的办法就是在URL进行传输之前对其中的中文进行编码,使用的编码是和服务器一样的编码,假设服务器使用的编码是UTF-8,则编码语句如下:URLEncoder.encode("中文","UTF-8")。这样对中文进行编码后所有的浏览器都不会再用他们默认的编码方式对中文进行编码,因为此时浏览器看到的已经不是中文了,而是编码后的字节码。这样就避开了浏览器传输URL时编码的差异性问题。
      
      对中文参数问题的解决方式和上面一样。但这里所指的中文参数是指以?name="中文参数"方式附在URL后,以get方法传输到服务器的这种形式,并不是以表单形式提交到服务器的。各浏览器对中文参数的处理方式和各自对URL中中文的处理方式都不相同,各浏览器之间也有差异,有的在传输之前不进行编码,有的在传输之前就已经进行了编码,情形非常复杂。
      
      但是我们以不变应万变,都用URLEncoder.encode("中文","UTF-8")对中文参数进行编码,这样不管各浏览器怎样对中文参数进行处理,此时经过我们编码后的中文对浏览器来说就是字节码,与a、b、c等字母没有什么区别。但是服务器会用UTF-8编码形式来还原中文参数。
      
      总结一下:以Tomcat服务器为例,在中添加URIEncoding="UTF-8",设置tomcat以utf-8的编码方式来处理URL。其次,对URL中的中文和中文参数都用URLEncoder.encode("中文","UTF-8")进行编码。


    再有,就是在后台进行转码。
    点击后打开新页面,用户登录!用户名为中文时,火狐、google浏览器无问题,但IE有乱码问题:
    问题代码:
    Java代码
    <a href="member!sysLogin.do?name='${member.uname }'" target="_blank" />登录</a>
    超链接形式的传参,都是Get方式!
    Java代码
    public String sysLogin(){
    try{
    name=new String(name.getBytes("iso-8859-1"),"utf-8");
    int r = this.memberManager.loginbysys(name);
    if(r==1){
    return "syslogin";
    }
    this.msgs.add("登录失败");

    }catch(RuntimeException e){
    this.msgs.add(e.getMessage());
    } catch (UnsupportedEncodingException e) {
    this.msgs.add(e.getMessage());
    }
    return this.MESSAGE;
    }
    修改成功:
    Java代码
    <a href="javascript:toSysLogin('${member.uname }');" />登录</a>

    function toSysLogin(name){
    var uriname="member!sysLogin.do?name="+name;
    window.open( encodeURI(uriname));
    }

    Java代码
    public String sysLogin(){
    try{
    this.setName(java.net.URLDecoder.decode(name, "UTF-8"));// 此处转码
    name=new String(name.getBytes("iso-8859-1"),"utf-8");
    int r = this.memberManager.loginbysys(name);
    if(r==1){
    return "syslogin";
    }
    this.msgs.add("登录失败");

    }catch(RuntimeException e){
    this.msgs.add(e.getMessage());
    } catch (UnsupportedEncodingException e) {
    this.msgs.add(e.getMessage());
    }
    return this.MESSAGE;
    }
    问题解决!
    encode编码
    decode解码


    这里有个全的。。

    JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:

    方法一:

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

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

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

    方法二:

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

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

    <%

    //request.setCharacterEncoding("GBK");

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

    {

    str=request.getParameter("url");

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

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

    out.print(str);

    }

    %>

    ==================================

    public String chinatoString(String str)

    {

    String s=str;

    try

    {

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

    s=new String(tempB);

    return s;

    }

    catch(Exception e)

    {

    return s;

    }

    }

    ====================================================

    function URLencode(sStr)

    {

    return escape(sStr).

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

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

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

    replace(/\//g,'%2F');

    }

    方法三:

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

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

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

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

    方法四:

    <script>

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

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

    }

    </script>

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

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

    以上方法是收聚了一些网友所讲的解决方法 。 [/color]
    展开全文
  • //解决中文乱码问题 var theRequest = new Object();//效果与var arrayA=new Array()等同 if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i ; i ++) { ...
  • 开发一直用firfox网页,调试什么的都很方便。所以遇到了浏览器之间的兼容问题。url中文传参。 问题:前台用url传值中文,后台用request.getParameter接收参数。  用firfox,chrome等没有问题。用ie会出现接参...
  • ajax 传参 乱码问题

    2013-07-14 18:32:00
    开发一直用firfox网页,调试什么的都很方便。所以遇到了浏览器之间的兼容问题。url中文传参。 问题:前台用url传值中文,后台用request.getParameter接收参数。 用firfox,chrome等没有问题。用ie会出现接参乱码...
  • Ajax技术是一种很流行,并且也很容易使用的技术,但是我们经常会遇到一个问题就是ajax中文乱码问题。 在我们使用ajax返回参数时经常会发现前台显示的是一堆乱码,而产生乱码的主要原因有: (1) xtmlhttp ...
  • 解决URL路径、传参乱码

    千次阅读 2013-07-31 22:21:46
    【解决URL路径编码乱码】    @Test  public void test() throws Exception {  String text = "中国";    // 进行URL编码操作  String encode = URLEncoder.encode(text, "utf-8");  
  • jsp的传参乱码我分成两种类型:一种是采用url地址直接传参,浏览器采用自己的默认编码方式给url及参数编码而服务端没有解码或采用错误方式解码造成乱码;第二种是表单进行传参(post下的三种enctype方式),浏览器...
  • 1.网页编码设置为utf-8 2.服务器设置为utf-8 如tomcat的server.xml中 设置为utf-8 3.自定义过滤器设置字符编码为utf-8 request 和response都设置为utf-8 setCharacterEncoding("UTF-8"); ...
  • 开发一直用firfox网页,调试什么的都很方便。所以遇到了浏览器之间的兼容问题。url中文传参。 问题:前台用url传值中文,后台用request.getParameter接收参数。  用firfox,chrome等没有问题。用ie会出现接参...
  • [b][size=large]在eclipse环境里,页面传输数据的时候通常用ISO-8859-1这个字符集 可以用 [color=red]str = new String(str.getBytes("ISO-8859-1"), "UTF-8");[/color] 转码 ...
  • 只要获取title参数的值并显示出来即可,本来用Request["title"]就可解决的问题却因链接所处页面的编码不同而变得复杂起来: 当链接所处的页面是用GB2312编码时,如果test.aspx也是GB2312则获取的参数值不乱码,...
  • 其他总结: 去哪网实习总结:JavaWeb中文传参乱码问题的解决(JavaWeb) 去哪网实习总结:JavaWeb配置404页面(JavaWeb) 去哪网实习总结:JAVA读XML文件节点信息(JavaWeb) 去哪网实习总结:递归构建“流程执行...
  • C# Url传参中文乱码

    千次阅读 2013-04-03 11:06:57
    项目用到ReportViewer报表,里面的参数是通过url传参给报表,参数中含有中文字符,页面显示这些参数时发现中文部分都乱码,英文字符和数字都显示正常,于是便搜寻解决之法,最终得以解决。方法如下: 1.通过web....
  • 通过URLEncoder编码能够解决java传递中文参数乱码问题.
  • JS URL传参中文乱码

    2017-05-15 14:59:37
    server端接收传递过来的参数 String param = request.getParamter(“param”);对接收的参数进行转码 ...备注:接收的参数一定要以ISO-8859-1获取字节,然后根据网页的编码格式new一个新的字符串,这里使用的是utf
  • 1.配置文件web.config中 在节中...在传参是先编码在传输,接受时先编码,在接收。 string mm=Server.URLEncode(你); Response.Redirect(index.aspx?mm=+mm); 然后在接收页解码: string mm = Server.URLDecode(Requext
  • 所以一直没有了解中文乱码的问题。 问题描述: 地址: http://localhost:8080/sun-government/contest/get_teams_by_type_with_page?typeName=新材料 当在windows 跑 myeclipse的命令台 能正确打印出typeN....
  • JS传参出现乱码(转载)

    2013-11-06 22:35:00
    问题说明:在进行网站开发时,将表单的...然后监视网页传值给JS代码时,JS处理过程中,发现“中文”也是正常的,最后将问题定位于JS传值给处理页面的过程中出现了乱码,经过自己的努力,终于将这个问题解决。具体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,628
精华内容 651
关键字:

网页传参乱码