【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《论特殊字符处理》,欢迎阅读!
论特殊字符处理
Sqlite3 数据库:
1、 单引号(‘)的处理方式
在构造sqlite数据库语句的时候,难免会碰到字符串中包含单引号的情况,例如:Insert into example_tb (name) values (‘John’s name’),该例子中的name列中的字符串就允许包含单引号,但是该sqlite数据库语句是无法正常执行的,因为单引号作为数据库语句中分割以及判定属性所用。那么如何解决这个问题呢,方法很简单,在字符串中应该为单引号的字符再加一个单引号即可。上面的例子就改成如下:Insert into example_tb (name) values (‘John’’s name’) 字符串转换XML: 环境:
保存:浏览器端将数据按照xml格式整理好,然后发给服务器,服务器将接受到的数据转换成xml文档,然后取出里面所记录的信息,将信息整理好打包发给后台,后台通过相应的指令传到服务器中,有服务器决定如何存储。
获取:将数据库中的数据取出,打包后发给后台,后台直接中转将数据传给服务器,服务器取出数据后通过xml格式将数据打包,然后发给浏览器,浏览器将数据包转换成xml文档格式,然后通过相应的方法取出数据。
问题:
在“保存”操作中,服务器所收到的数据有几个特殊字符无法按照字符串的形式转换,其一是小于符号(<),由于xml文档是通过一组”<>”区分,所有小于符号在这里会影响xml文档的转换。其二是And符号(&),该符号作为转义字符的起始符,如果单独存在,xml会将其作为空字符处理。
处理方式:
保存:在浏览器端接收到字符串数据的时候,通过replace函数将字符串中的小于符号(<)和And符号(&)转换成转义字符(<)和(&),然后才封装成xml文档发到服务器端。
获取:在服务器端获取在后台返回的数据以后,将字符串数据中的小于符号(<)和And符号(&)转换成转义字符(<)和(&),然后才封装成xml文档发到浏览器端。通过标签获取获取相应的数据。
A、 当该数据要通过构造html的方式写入界面的时候,该数据中所包含的特殊字符
需要做特殊处理,将所有的单引号(‘)转换成”'”(因为单引号(‘)的转义字符”'”不是所有的浏览器都支持);将所有的小于符号(<)转换成”<”,将所有的And符号(&)转换成”&”由于html的特殊性,虽然双引号(”)对网络数据传输没有影响,但是对于页面显示影响还是很大的,所以将所有的双引号(“)转换成”"”。
B、 当该数据通过javascript或者JQuery或者其他方式采用赋值的方式给某个对象赋
值就不需要将特殊字符做任何处理。
如何处理js构建html文本中函数所传参中所包含特殊字符的问题?
在js中构建好了html文本以后,通过JQuery函数”$(“#example”).html()”写入相应的位置,在构建html文本中,我们按照以上字符串转换XML中处理方式A所描述的那样转换。当html页面在加载js中所写入的html文本的时候,会将里面的特殊字符的转义符还原成原来的字符。但是在构建好的html文本中的函数所传输的变量如果是字符串是采用双引号(“)或者单引号的(‘)的方式包含起来,如果该字符串中包含有双引号(“)
或者单引号的(‘),那么在调用该函数的时候就会发生无法预料的错误。比如读取的字符串不完整,比如该html标签提前结束等等。
解决该问题的方法是在A中的单引号转换成”'”,将双引号转换成”"”,然后在函数中做相应的处理。
本文来源:https://www.wddqxz.cn/4b96ee51a16925c52cc58bd63186bceb19e8ed04.html