如何向数据库中保存单引号,双引号等字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何向数据库中保存单引号,双引号等字符相关的知识,希望对你有一定的参考价值。

如何向数据库中保存单引号,双引号等字符,并在JSP页面中也能正常输出。
但是客户要求页面上的信息与数据库中的信息要一致。
也就是说页面上显示单引号,双引号,<,>,等字符保存到数据库中时也要同样的。

我曾考虑过一个方案:
保存时:把从页面上取到的数据转成ASK码,Insert或Update入库时再把ASK码转成字符。
显示时:从数据库中Select出的数据转成ASK码放到Bean中,在JSP页面显示时在把ASK码转成字符。

这样页面与数据库中的信息就完全一样了。
我觉得这种思考应该没有问题,但是实现起来总是有错误。

一半是把引号转译乘其他字符,然后存在数据库里,取出的时候再转回来。数据库中的信息不要设置成客户可以直接查看,这是对安全性的考虑,如果需要查看,给客户做一个专门的查看设置。
另外你的方法是可以实现的,但是具体方法可能不对,所以会有错误,需要调整(最大的问题可能是你从ASK往回转码的时候如何区分每个字符,因为ASK都是写数字所以数据量会很大,这对网络传输来说很费时的)。从应用效果上我觉得有些多余,你既然已经转码了就没必要在存到数据库的时候再转回去,转码是为了页面之间传输的时候不发生错误(防止带有特殊字符的数据被当作正常语句执行),既然已经传输到数据库层了,就没必要转回来了。不要给客户看到你的数据库,客户都是喜欢简单的东西,不要弄的复杂了。
参考技术A 一个单引号就在之前加上一个单引号,在SQL中单引号是转义字符,和其他语言中的转义字符一个作用
如''表示一个单引号
想保存 @Name = ‘超人’---‘@name = ''' + '超人'''
参考技术B 转换一下。
<
<
小于号或显示标记
>
>
大于号或显示标记
&
&
可用于显示其它特殊字符
"

引号

参考技术C 直接存取就可以的啊

引号嵌套

单引号和双引号之间可以相互嵌套。

1、单引号内只能嵌套双引号。

2、双引号内只能嵌套单引号。

3、如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\”)。

4、JS中的转义字符是反斜杠(\).常用的转义字符有:\‘、\”、\\、\r、\n等。

转义字符也就是,当浏览器遇到反斜杠(\)时,将会对其后的一个字符进行特殊对待,当成一个一个普通字符来对待。所谓“普通”字符就是a、b、c、&等。

 

以上是关于如何向数据库中保存单引号,双引号等字符的主要内容,如果未能解决你的问题,请参考以下文章

在写入csv c#时向字符串添加双引号

如何插入包含单引号的字符串

php 如何过滤 单引号 双引号 $ < > 等N种特殊符号?谢谢

向MySQL数据库插入单引号或双引号

javascript怎么去掉字符串首尾的双引号

如何将包含双引号的字符串添加到 sql 数据库?