zoukankan      html  css  js  c++  java
  • form表单提交后结果乱码的解决方法

    1.产生乱码原因:表单提交使用的method="get",get方式数据都是通过地址栏传输,数据会以iso-8859-1方式传输,因此产生乱码

    2.概念:URI: Uniform ResourceIdentifiers,通用资源标识符,有效的URI中不能包含某些字符,例如空格

    3.解决编码和解码的方法:

    (1)js中decodeURIComponent() 函数的定义与用法:
    定义:decodeURIComponent() 函数编码的URI进行解码[encodeURIComponent() 可以对字符串编码]
    语法:decodeURIComponent(uri)
    (2)js中encodeURI()函数的定义与用法:
     定义:encodeURI()函数可以把字符串作为URI进行编码,在URI中具有特殊含义的ASCII标点符号,encodeURI()函数是不会进行转义的【decodeURI()可以解码URI】
     语法:encodeURI(uri)

    4.方法小结一下:

    相同点: 

    (1)encodeURI(),和encodeURIComponent()是对字符进行编码。
    (2)decodeURI(),和decodeURIComponent()是对相应编码过的字符进行解码。

    区别: 

    方法中包含的URI()的编码和解码不会对本身属于URI的特殊字符进行编码,例如冒号等;

    方法中包含URICompent()的编码和解码则会对它发现的任何非标准字符进行编码进行编码;

     5.Demo

    <form id="test"  accept-charset="utf-8" onsubmit="document.charset='utf-8'">
    <input type="text" id="name">
    <input type="text" id="age">
    </form>
    通过调用ajax:
    $("#test").form("submit",
    {
    url:encodeURI("/A/Bmethod"+new Date().getTime()),//有时间函数不转义加上encodeURI
    onSubmit:function(p){
     p.name=$("#name").val(),
     p.age=$("#name").
    }
     },
    success:function(data)
    {
     data.imageSrc=decodeURIComponent(data.imageurl);//对imageurl进行解密
    }
    )
  • 相关阅读:
    Intelij根据数据库表生成实体类
    RabbitMQ(二):入门案例
    RabbitMQ(一):简介和基本概念
    Python 第十课,面向对象补足,异常处理
    Python 第九课,面向对象进阶
    Python 第七课,模块
    Python 第六课,装饰器,生成器,迭代器,其他
    Python 第五课,正则表达式
    Python 第四课,内置函数,I/O操作。
    Python 第三课,函数。
  • 原文地址:https://www.cnblogs.com/debugsxs223/p/11221795.html
Copyright © 2011-2022 走看看