自动清除替换ACCESS(MDB)数据库的日文字符的ASP代码

2016-02-19 19:07 37 1 收藏

下面图老师小编跟大家分享自动清除替换ACCESS(MDB)数据库的日文字符的ASP代码,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - Web开发 】

  我们都知道ACCESS是ASP的亲密伙伴。因为两种最简单的东西碰在一起总能迸发出火花。
  然而,当我们过滤不严格的时候经常出现日文字符,这个时候搜索之后就会出现日文溢出。
  此时我们通常能想到的想法是找一个exe程序,把这个问题解决掉。我原来用C#写过这样一个类似的程序。
  Google里面应该能找到我以前写的那个。就不说了。
  后来某一天,我发现ASP就能实现。我当时真的觉得自己太屎了。
  不过ASP的这种方法很不好。容易造成系统崩溃(如果数据库大)。
  所以只是写在这里。算是抛砖引玉。

  '下面我解释一下下:
  Function TransferJapanDc9CnInDB()

    On Error Resume Next
    Err.Clear
    Dim objRS,i
    Set objRS=Server.CreateObject("ADODB.Recordset")
    objRS.CursorType = adOpenKeyset
    objRS.LockType = adLockReadOnly
    objRS.ActiveConnection=objConn
    objRS.Source="SELECT * FROM [blog_Comment]"
    objRS.Open()

    If (Not objRS.bof) And (Not objRS.eof) Then

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

      For i=1 to objRS.RecordCount
  '遍历,看看有没有日文,如果有,就溢出了,随便搜索一个东西就行了。搜什么无所谓。因为是遍历ACCESS只要指针移动到日文就溢出。
      objConn.Execute("SELECT * FROM [blog_Comment] WHERE comm_ID="&objRS("comm_ID")&" AND [comm_Content] LIKE '%URL%'")
      If Err.Number=-2147217900 Then
  '因为是on err继续 所以这里找到溢出的错误代码,这个是自己debug出来的,实际上不是从什么地方找的。
        objConn.Execute("UPDATE [blog_Comment] SET [comm_Content]='"&FilterSQL(Japan2Html(objRS("comm_Content")))&"',[comm_Author]='"&FilterSQL(Japan2Dc9CnHtml(objRS("comm_Author")))&"' WHERE comm_ID="&objRS("comm_ID")&" ")
  '这个就是把日文替换一下,思路是不是很巧妙。恩。不过数据库庞大的化,反复溢出就会很出问题的。内存宝宝会哭的。
        Err.Clear
      End If
      objRS.MoveNext
      Next

    End If

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

    objRS.Close
    Set objRS=Nothing
  'www.dc9.cn http://www.devdao.com/ 07/11/28
  End Function

  Function Japan2Dc9CnHtml(source)
      source=Replace(source,"ガ","ガ")
      source=Replace(source,"ギ","ギ")
      source=Replace(source,"ア","ア")
      source=Replace(source,"ゲ","ゲ")
      source=Replace(source,"ゴ","ゴ")
      source=Replace(source,"ザ","ザ")
      source=Replace(source,"ジ","ジ")
      source=Replace(source,"ズ","ズ")
      source=Replace(source,"ゼ","ゼ")
      source=Replace(source,"ゾ","ゾ")
      source=Replace(source,"ダ","ダ")
      source=Replace(source,"ヂ","ヂ")
      source=Replace(source,"ヅ","ヅ")
      source=Replace(source,"デ","デ")
      source=Replace(source,"ド","ド")
      source=Replace(source,"バ","バ")
      source=Replace(source,"パ","パ")
      source=Replace(source,"ビ","ビ")
      source=Replace(source,"ピ","ピ")
      source=Replace(source,"ブ","ブ")
      source=Replace(source,"ブ","ブ")
      source=Replace(source,"プ","プ")
      source=Replace(source,"ベ","ベ")
      source=Replace(source,"ペ","ペ")
      source=Replace(source,"ボ","ボ")
      source=Replace(source,"ポ","ポ")
      source=Replace(source,"ヴ","ヴ")
      Japan2Html=source
  End Function

来源:http://www.tulaoshi.com/n/20160219/1620050.html

延伸阅读
适用:ACCESS2000 ACCESS97 数据库规格是MDB的工作极限,以下列出ACCESS2000的规格,与ACCESS97只有极少差异,有差异者皆特别注明。 ●数据库 数据库档案大小 : 20亿字节(ACCESS97为10亿字节) 一个数据库内的组件数目: 32,768 模快 : 1024 一个组件名称的字节数 : 64 一个密码的字节数 : 14 ...
标签: MySQL mysql数据库
有时候遇到想替换数据库里某一字段的内容时可以用REPLACE函数: 语法如下: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串: mysql select REPLACE('www.mysql.com', 'w', 'Ww'); - 'WwWwWw.mysql.com' 这个函数...
标签: ASP
在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式...
标签: ASP
      感觉做一个论坛不像想象中的那么容易,但也不像想象中的那么复杂:),经过4天的浴血奋战,终于从对论坛制作一无所知到今天的论坛数据结构和组织形势初步确定,中间参考了sunamd,bigeagled,廖家远等的思路,并得到了赖皮王子,hooke,bigeagle大虾的热心帮助,谨以此文一并表示感谢。     bigeagle的...
一、密码式 给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。 二、"#"式 在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名...

经验教程

461

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部