public static String toHTMLString(String in) {
StringBuffer out = new StringBuffer();
for (int i = 0; in != null && i < in.length(); i++) {
char c = in.charAt(i);
if (c == '\'')
out.append("'");
else if (c == '\"')
out.append(""");
else if (c == '<')
out.append("&lt;");
else if (c == '>')
out.append("&gt;");
else if (c == '&')
out.append("&amp;");
else if (c == ' ')
out.append("&nbsp;");
else if (c == '\n')
out.append("<br/>");
else
out.append(c);
}
return out.toString();
}

1

需求:将html输入框中的字符保存到DB中,再次打开html时将DB中的字符回填到html输入框中;

问题:

1 当输入框中只有一个单引号时,执行sql报错,应为sql文用单引号来表示起始;

2 当输入框填入双引号=html转义字符时,从DB回填到html时会破坏html标签;

处理:

1 不用Statement

 stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values ('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");

2

用PreparedStatement来代替Statement

 PreparedStatement pstmt = null;
perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
perstmt.setString(1,var1);
perstmt.setString(2,var2);
perstmt.setString(3,var3);
perstmt.setString(4,var4);
perstmt.executeUpdate();
pstmt.close();

2 从DB取出字符后,做转义处理

见:1

html转义字符的更多相关文章

  1. XML中的转义字符

    HTML中<, >,&等有特别含义,(前两个字符用于链接签,&用于转义),不能直接使用.使用这三个字符时,应使用他们的转义序列,如下所示: & 或 & &a ...

  2. 关于Android中res目录strings.xml文件中的转义字符之笔录

    res目录strings.xml文件中的转义字符:         ------------------>     代表着一个汉字的位置:                        ---- ...

  3. 用CSS正确显示人民币符号的HTML转义字符

    做电子商务的难免要跟钱打交道,特别是跟人民币接触更多,但人民币符号长什么样呢,是¥还是¥?糊涂了吧^~^,要知道答案很简单,找出一张新的一百元大钞,在背面看看那个防伪的银线,上面就有. 我们做网页时要 ...

  4. C#转义字符(Z)

    所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示.而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为 ...

  5. xml转义字符

    解析XML文件时,如果有多个转义学符可以用 <![CDATA[含有转义字符的内容]]

  6. Python_转义字符

    转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵向制表符 \ ...

  7. HTML特殊转义字符列表

    HTML特殊转义字符列表 最常用的字符实体 显示  说明  实体名称  实体编号   空格       <       小于   <  < >  大于  > > & ...

  8. javascript字符转直接量和转义字符

    直接量: 你可以用单引号或者双引号来表示字符串的直接量.但是js的字符串必须是Unicode 字符序列. 转义字符: 主要用在字符串中,包涵控制字符,以及当前操作系统余元所不允许直接输入的字符. 转义 ...

  9. MySQL语句中的转义字符----引号

    MySQL语言中的转义字符和各种编程语言基本相同,见下表 形式 含义 \0 0(NUL)字符 \n 换行 \r 回车符 \t 制表符 \b 退格 \' 单引号 \" 双引号 \\ 反斜线 \ ...

  10. android中常用转义字符

    转义字符 实际字符 名称 < < 小于号 > > 大于号 & & 和 &apos; ' 单引号 " " 双引号  

随机推荐

  1. 关于Java的基本类型

    Java的基本类型分为整数型,浮点型,字符型,布尔型.顾名思义整数型用来表示整数,浮点型用来表示带小数的数,字符型用来表示字符.特殊的是布尔型用来表示逻辑上的true(真)和false(假),一般与分 ...

  2. 自己瞎捣腾的Win7下Linux安装之路-----图例篇

    写在前面 网上很多这方面的教程,我也是参考他们的文章和一些书籍才弄成功.没啥创新性,只为记录下来,以供自已理解和以后复习. 所谓工欲善其事,必先利其器.俺想学习Linux,当然是要先装一个Linux( ...

  3. Linux下压缩mp3文件

    apt-get install lame lame -b 64 a.mp3 b.mp3 lame是压缩mp3的一个小工具 参数 -b 64 是输出文件的采样率64 a.mp3 是源文件 b.mp3 是 ...

  4. centos svn 升级

    在服务器的/etc/yum.repos.d/下新建个文件夹,wandisco-svn.repo [WandiscoSVN]name=Wandisco SVN Repobaseurl=http://op ...

  5. Django模型层Meta内部类详解

    Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract      这个属性是定义当前的模型类是不是一个抽象类.所谓抽象类是不会对应 ...

  6. dhtmlxScheduler日程安排控件

    dhtmlxScheduler是一个JavaScript日程安排控件 官方网站:http://www.dhtmlx.com/在线帮助文档:http://docs.dhtmlx.com/doku.php ...

  7. consul 安装

    1. linux 下consul 安装 首先查看机器信息: uname -a Linux centos-linux.shared 3.10.0-327.el7.x86_64 #1 SMP Thu No ...

  8. C++ 数字转字符串

    #include <sstream> string num2str( int i) { stringstream ss; ss<<i; return ss.strs(); }

  9. C# 获取当前操作系统是32位还是64位

    注:判断整型的长度的方式,只有在AnyCPU编译模式下才有用.因此更好的办法是获取真的地址总线位宽(使用WMI,windows management instruementation). .NET 2 ...

  10. 显示intent和隐示intent有什么区别

    显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent. 隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent. 说明:And ...