日文片假名导致 Access 搜索“内存溢出”
作者:Afly 来源:Afly博客 时间:2009-07-07 22:23:00
这几天转了几个内容包含日语的贴,结果发现搜索数据库时出现“内存溢出”错误。上网搜索寻求答案未果。最后才发现这就是传说中的“日文 26 个片假名(ゴ ガ ギ ア ゲ ザ ジ ズ ヅ デ ド ポ ベ プ ビ パ ヴ ボ ペ ブ ピ バ ヂ ダ ゾ ゼ)导致 Access 搜索出现内存溢出(Microsoft JET Database Engine 错误 '80040e14' 内存溢出)”的 Bug,研究了半天,最后终于还算是解决了。
撇开针对 LBS^2 的 http://www.ronnier.com/article.asp?id=31,再看看归纳出罪魁祸首为 26 个日文片假名 的 http://www.blueidea.com/bbs/NewsDetail.asp?id=1768538,再借用 Loveyuki 的图:
最后,本人决定用最简单的笨方法:
Function EncodeJP(StrHTML)
If Not StrHTML="" Then
StrHTML=Replace(StrHTML,"ガ","ガ")
StrHTML=Replace(StrHTML,"ギ","ギ")
StrHTML=Replace(StrHTML,"ア","ア")
StrHTML=Replace(StrHTML,"ゲ","ゲ")
StrHTML=Replace(StrHTML,"ゴ","ゴ")
StrHTML=Replace(StrHTML,"ザ","ザ")
StrHTML=Replace(StrHTML,"ジ","ジ")
StrHTML=Replace(StrHTML,"ズ","ズ")
StrHTML=Replace(StrHTML,"ゼ","ゼ")
StrHTML=Replace(StrHTML,"ゾ","ゾ")
StrHTML=Replace(StrHTML,"ダ","ダ")
StrHTML=Replace(StrHTML,"ヂ","ヂ")
StrHTML=Replace(StrHTML,"ヅ","ヅ")
StrHTML=Replace(StrHTML,"デ","デ")
StrHTML=Replace(StrHTML,"ド","ド")
StrHTML=Replace(StrHTML,"バ","バ")
StrHTML=Replace(StrHTML,"パ","パ")
StrHTML=Replace(StrHTML,"ビ","ビ")
StrHTML=Replace(StrHTML,"ピ","ピ")
StrHTML=Replace(StrHTML,"ブ","ブ")
StrHTML=Replace(StrHTML,"ブ","ブ")
StrHTML=Replace(StrHTML,"プ","プ")
StrHTML=Replace(StrHTML,"ベ","ベ")
StrHTML=Replace(StrHTML,"ペ","ペ")
StrHTML=Replace(StrHTML,"ボ","ボ")
StrHTML=Replace(StrHTML,"ポ","ポ")
StrHTML=Replace(StrHTML,"ヴ","ヴ")
End If
EncodeJP=StrHTML
End Function
经测试——居然OK了!
asp之家注:在含有上门日文的字符串时,使用replace函数也可能会报错。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
oracle-快速删除重复的记录
如何获取当前 select 元素的值
你的网站使用了微格式了么
浅说相册图片详情页面中大图的浏览方式
![](https://img.aspxhome.com/file/UploadPic/20092/1/12-79.jpg)
使用Microsoft SQL Server 2000全文搜索功能构建Web搜索应用程序
Mootools 1.2教程(21)——类(二)
两大步骤教您开启MySQL 数据库远程登陆帐号
使用javascript修复浏览器中12个常见而又头痛的问题
![](https://img.aspxhome.com/file/UploadPic/200810/28/20081028194555330s.jpg)
WEB2.0网页制作标准教程(5)head区的其他设置
Opera下cloneNode的bug
CSS实例教程:复合型CSS条状图表(上)
![](https://img.aspxhome.com/file/UploadPic/20101/23/2010123124715558s.jpg)