Thinkphp 存储 传输中转义和实体字符之间的处理

整个流程是这样:

  从redis中取出来的数据=》发送到控制器=》存储=》取出=》ajax发送至前台;

说下要注意的几点:

  主要是要解决双引号转义和转为实体字符的问题;

  1.存储时,create方法中要传入参数

    例如这样:$model->create($_POST);

    这样能避免数据存到表中的时候“转为实体字符

    create未传参:[{"fid":88,"fpo":1,"sid":10,"spo":2}]

    create传参:[{"fid":81,"fpo":1,"sid":10,"spo":2}]

  json_encode 和 serilize 都会转义;

  2.ajax取出时候,在php端打印是正常的,和数据库相同,但是发送前台时候会将”前面加上\,这点要特别注意,负责前台各种不好处理;

  提供一个处理方法:

    

    success:function(msg){
      var str = msg.content;
      var s = str.replace(/\\/, "");
      var obj = $.parseJSON(s);
      console.log(obj);
    }

  就可以解决了;

  

时间: 2024-08-28 14:57:51

Thinkphp 存储 传输中转义和实体字符之间的处理的相关文章

求字符串中某两个字符之间的字符

这个简单,留作纪念,学习之初写的: 求两个A之间的字符,并打印出来: 1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 7 const char Stra[40] = "sdfjAI Love You So Much !Ajidhj";//呵呵,乱输的 8 const char *p; 9 p = Stra; 10 11 while (*p != '\0') 12 { 13 if (*p ==

HTML 实体字符

有些字符,像(<)这类的,对HTML来说是有特殊意义的,所以这些字符是不允许在文本中使用的.要在HTML中显示(<)这个字符,我们就必须使用实体字符. 实体字符 有一些字符对HTML来讲是有特殊意义的,像小于符号(<)是用来定义HTML头标签的.如果我们想在浏览器中显示这类字符就必须在HTML代码中插入实体字符. 一个实体字符有三个部分:一个(&)符号,一个特殊符号名称或一个#加上一个特殊数字,最后是一个分号(;). 要显示小于符号就得在HTML中写:< 或者<使用名

实体字符

HTML 中的预留字符必须被替换为字符实体. HTML 实体 在 HTML 中,某些字符是预留的. 在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签. 如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities). 字符实体类似这样: &entity_name; &#entity_number; 如需显示小于号,我们必须这样写:< 或 < 提示:使用实体名而不是数字的好处是,名称易

将SQL for xml path(&#39;&#39;)中转义的字符正常显示

将SQL for xml path('')中转义的字符正常显示 在工作中出现的发送邮件的时候:因为邮件内容中有链接,并且多个拼接在一起的,于是用了for xml path().        但是,这样显示出来的链接时会将路径中的<,>,&符号转义为< > & 这样显示的路径在邮件中是不能进行链接的.         在网上查了很多资料后终于找到了一种方法:...FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)') 如下

javascript和html中unicode编码和字符转义的详解

原文:http://ulhoo.com/blog/?p=285 1.html中的转义:在html中如果遇到转义字符(如" "),不管你的页面字符编码是utf-8亦或者是GB2312,都会直接打印成相应的字符:而当遇到(如:"\u8981"[此处的8981是16进制值])时,则不会打印成相应字符. /* *html标记的转义 *@example *<p>Hello World!</p> * ||等价于 *<p>Hello World

过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解

今天产品部同事报告了一个BUG,经过调试发现,由于用户输入的字符串中,包含字符0x1E, 也就是”记录分隔符”(Record Separator, Notepad++ 显示为[RS]),导致JavaScript XML解析遭遇错误.于是就想在字符串中过滤掉这些没多大用途的字符,同时又要保留部分常用的字符,例如换行,回车和水平制表符.于是写了下面一个 PHP 函数: /** * 清理字符串中的部分不可见控制字符 * * @param string $string 待处理字符串 * @return

使用加密解密技术和CA认证解决网络传输中的安全隐患

服务端:xuegod63.cn   IP:192.168.1.63 客户端:xuegod64.cn   IP:192.168.1.64   网络安全: 网络传输中的安全隐患-.   中间人攻击 全隐患:        解决方法 1.窃听-- >  加密 2.篡改 ->  哈西算法:MD5,sha1 (检查数据完整性) 3.伪装(钩鱼网站,伪装WIFI)  ->  身份认证(用户名/密码.数字证书) 4.网络中断 (内网冒冲网关,DDOS )  –>绑定静态arp地址: 加大服务器和

java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)

转载地址:http://www.cnblogs.com/xdp-gacl/p/3952405.html 在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装饰器)模式对request.response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求. 一.Decorator设计模式 1.1.Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强: 编写子类,覆盖需增强的

Java中的字节和字符

最近在看Java中的IO相关知识,发现对字节和字符的理解还不够.写篇总结记录一下. 一.字节 所谓字节(Byte),是计算机数据存储的一种计量单位.一个二进制位称为比特(bit),8个比特组成一个字节,也就是说一个字节可以用于区分256个整数(0~255).由此我们可以知道,字节本是面向计算机数据存储及传输的基本单位,后续的字符也就是以字节为单位存储的,不同编码的字符占用的字节数不同. 那么在Java中,除了存储的意义外,Java还将字节Byte作为一种基本数据类型,该数据类型在内存中占用一个字