==========我要replaceAll("'","''")怎么样replaceAll法。===============

99percent 2005-05-17 10:04:01
正确:
String content=new String (request.getParameter("content").getBytes("ISO-8859-1"));
===================================================================================
错误:
String content=new String ((request.getParameter("content")).replaceAll("'","''").getBytes("ISO-8859-1"));
====================================================================================

我应该怎么改法。
因为我在录入英文时,如what's it's 这样的'符号。它就不能保存在数据库了。我想将这些'换成全角的。怎么换法?

还有就是平时在做防漏洞时,也是将'换成’也行了?还是怎么防法?请指教。
...全文
438 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
99percent 2005-05-19
  • 打赏
  • 举报
回复
我的是jdk1.4 Tomcat5.0
=========================
猫熊工作室 2005-05-19
  • 打赏
  • 举报
回复
分开写不得了

request.setCharacterEncoding("iso-8859-1");
String t = request.getParameter("content");
String content = t.replaceAll("'","''");
jihanzhong 2005-05-18
  • 打赏
  • 举报
回复
1.3以及以下版本不支持replaceAll
liuquanyi 2005-05-18
  • 打赏
  • 举报
回复
测试过,对于mysql数据库是可以存储'的,用的是PrepareStatement类!
同时String content=new String ((request.getParameter("content")).replaceAll("'","''").getBytes("ISO-8859-1"));语法也么错!

感觉什么没错!
你何不把异常说出来
jihanzhong 2005-05-17
  • 打赏
  • 举报
回复
String content=new String (((String)request.getParameter("content")).replaceAll("[\\']","''").getBytes("ISO-8859-1"));
99percent 2005-05-17
  • 打赏
  • 举报
回复
PreparedStatement
============================================================
我一用PreparedStatement就会错.是不是要加什么包之类的啊?
不用就没有问题.

============================================================
String content=new String ([这儿提示有错](request.getParameter("content")).replaceAll("[\\']","''").getBytes("ISO-8859-1"));
liuquanyi 2005-05-17
  • 打赏
  • 举报
回复
("'","'"); WAP里把点的表示是 ' HTML 里就不知道了

学习!
zanjun 2005-05-17
  • 打赏
  • 举报
回复
String content=new String ((request.getParameter("content")).replaceAll("\\'","''").getBytes("ISO-8859-1"));
eltonto 2005-05-17
  • 打赏
  • 举报
回复
////////////////////////////////////////////////////////直接复制过去就能用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



String content=new String (request.getParameter("content").getBytes("ISO-8859-1"));

content=content.replaceAll("'","''");
//content=content.replaceAll("'","'"); 或者用这个,你直接用我这个!!!!

//
//("'","'"); WAP里把点的表示是 ' HTML 里就不知道了,,
hjw_929 2005-05-17
  • 打赏
  • 举报
回复
补充一句:你原来的代码在tomcat5.5.7+jdk1.5下是没有错误的,你也可以升级这两个软件!
hjw_929 2005-05-17
  • 打赏
  • 举报
回复
你出现的错误主要是因为getBytes("ISO-8859-1")方法需要抛出UnsupportedEncodingException异常,你在jsp代码中抛出此异常就不会报错了。
try{
String content=new String ((request.getParameter("content")).replaceAll("'","''").getBytes("ISO-8859-1"));
}
catch(UnsupportedEncodingException e){
//相应处理
}
99percent 2005-05-17
  • 打赏
  • 举报
回复
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 3 in the jsp file: /news/ask_save.jsp

Generated servlet error:
[javac] Compiling 1 source file

E:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\news\ask_005fsave_jsp.java:62: cannot resolve symbol
symbol : method replaceAll (java.lang.String,java.lang.String)
location: class java.lang.String
String content=new String ((request.getParameter("content")).replaceAll("[\\']","''").getBytes("ISO-8859-1"));
^
1 error
opencsdn 2005-05-17
  • 打赏
  • 举报
回复
String content=new String ((request.getParameter("content")).replaceAll("[\\']","''").getBytes("ISO-8859-1"));
jihanzhong 2005-05-17
  • 打赏
  • 举报
回复
给个例子: M_id随便输入什么都可以,'"'%都可以
sql="select * from module where m_id=?";
try{
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,M_id);
rs = pstmt.executeQuery(sql);
if(null!=rs && rs.next()){
this.record.add(1,rs.getString("m_name"));//模块名称
}else{
System.err.println("aq.executeQuery: 没有记录");
return null;
}
if(null!=rs) rs.close();

}catch(SQLException ex) {
System.err.println("aq.executeQuery:"+ex.getMessage());
}
jihanzhong 2005-05-17
  • 打赏
  • 举报
回复
String content=new String (request.getParameter("content").getBytes("ISO-8859-1"));

content=content.replaceAll("'","''"));



还有,用PreparedStatement可以很安全的插入数据库,什么符号都没关系!
99percent 2005-05-17
  • 打赏
  • 举报
回复
唉~~~~~~~~~~~~~
99percent 2005-05-17
  • 打赏
  • 举报
回复
我刚才的方法我之前也试过了,会出错的。
===============================================
E:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\news\ask_005fsave_jsp.java:62: cannot resolve symbol
symbol : method replaceAll (java.lang.String,java.lang.String)
location: class java.lang.String
String content=new String (((request.getParameter("content")).replaceAll("'","''")).getBytes("ISO-8859-1"));
^
1 error
keen1982 2005-05-17
  • 打赏
  • 举报
回复
String content=new String (((request.getParameter("content")).replaceAll("'","''")).getBytes("ISO-8859-1"));

99percent 2005-05-17
  • 打赏
  • 举报
回复
up
99percent 2005-05-17
  • 打赏
  • 举报
回复
救命啊~~~~~~~~~~~~~~~~~~~~~
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧