检查有日文片假名的新闻

2016-01-29 20:02 19 1 收藏

检查有日文片假名的新闻,检查有日文片假名的新闻

【 tulaoshi.com - ASP 】

==26个日文片假名导致Access搜索(80040e14/内存溢出)的解决办法==

ゴ ガ ギ グ ゲ ザ ジ ズ ヅ デ ド ポ ベ プ ビ パ ヴ ボ ペ ブ ピ バ ヂ ダ ゾ ゼ
当字段内包含了这26个日文字符任意一个多个时,就会导致在执行SQL语句中包含了
[字段] like '%aaaaa%' 或 inStr(1,[字段],'aaaaa',1)0
这样的查询时,毫无道理的出现了
"Microsoft JET Database Engine 错误 '80040e14' 内存溢出"的错误
其他Jet SQL函数命令未作测试,大概与字符搜索定位匹配相关的都可能出错

搜索相关资料得知被微软工程师证实是Access的bug,可能是语法关系都是微软的东东
在vbs中 执行inStr(1,日文平假名变量,"aaaaa",1)依然要出现错误
Microsoft VBScript 运行时错误 错误 '800a0005' 无效的过程调用或参数: 'instr'


没有搜索,因这几个字符出现Access的论坛网站搜索无法进行,何等痛苦
昨天一朋友大叫怪事,他的音乐数据库无法搜索了,只有30000条记录时是好的
毫无疑问,日文片假名是祸根,花几分钟把有包含上面的日文替换成"?"搜索顺利恢复
找来论坛程序用户群最大的动网dvBBS AC版本 7.0SP2 版测试,同样有这个日文发帖后 导致无法搜索并且运行时出错的问题
线上去搜索 '80040e14' 内存溢出" 的错误 多的是!

一简单有效的解决办法:
对这26个字符进行编码和解码,可能效率感觉不理想,测试下来问题不大,速度影响不是太大

编码:

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

Function Jencode(byVal iStr)
if isnull(iStr) or isEmpty(iStr) then
Jencode=""
Exit function
end if
dim F,i,E
' F=array("ゴ","ガ","ギ","グ","ゲ","ザ","ジ","ズ","ヅ","デ",_
' "ド","ポ","ベ","プ","ビ","パ","ヴ","ボ","ペ","ブ","ピ","バ",_
' "ヂ","ダ","ゾ","ゼ")
E=array("Jn0;","Jn1;","Jn2;","Jn3;","Jn4;","Jn5;","Jn6;","Jn7;","Jn8;","Jn9;","Jn10;","Jn11;","Jn12;","Jn13;","Jn14;","Jn15;","Jn16;","Jn17;","Jn18;","Jn19;","Jn20;","Jn21;","Jn22;","Jn23;","Jn24;","Jn25;")
F=array(chr(-23116),chr(-23124),chr(-23122),chr(-23120),_
chr(-23118),chr(-23114),chr(-23112),chr(-23110),_
chr(-23099),chr(-23097),chr(-23095),chr(-23075),_
chr(-23079),chr(-23081),chr(-23085),chr(-23087),_
chr(-23052),chr(-23076),chr(-23078),chr(-23082),_
chr(-23084),chr(-23088),chr(-23102),chr(-23104),_
chr(-23106),chr(-23108))
Jencode=iStr
for i=0 to 25
Jencode=replace(Jencode,F(i),E(i))
next
End Function

解码:

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

Function Juncode(byVal iStr)
if isnull(iStr) or isEmpty(iStr) then
Juncode=""
Exit function
end if
dim F,i,E
' F=array("ゴ","ガ","ギ","グ","ゲ","ザ","ジ","ズ","ヅ","デ",_
' "ド","ポ","ベ","プ","ビ","パ","ヴ","ボ","ペ","ブ","ピ","バ",_
' "ヂ","ダ","ゾ","ゼ")
E=array("Jn0;","Jn1;","Jn2;","Jn3;","Jn4;","Jn5;","Jn6;","Jn7;","Jn8;","Jn9;","Jn10;","Jn11;","Jn12;","Jn13;","Jn14;","Jn15;","Jn16;","Jn17;","Jn18;","Jn19;","Jn20;","Jn21;","Jn22;","Jn23;","Jn24;","Jn25;")
F=array(chr(-23116),chr(-23124),chr(-23122),chr(-23120),_
chr(-23118),chr(-23114),chr(-23112),chr(-23110),_
chr(-23099),chr(-23097),chr(-23095),chr(-23075),_
chr(-23079),chr(-23081),chr(-23085),chr(-23087),_
chr(-23052),chr(-23076),chr(-23078),chr(-23082),_
chr(-23084),chr(-23088),chr(-23102),chr(-23104),_
chr(-23106),chr(-23108))
Juncode=iStr
for i=0 to 25
Juncode=replace(Juncode,E(i),F(i))'□
next
End Function

注意,如果直接使用字符不方便(windows还没装日文支持),注释掉的部分提供有 chr(-23804) ..这样的定义

本新闻共3页,当前在第1页  1  2  3  

来源:http://www.tulaoshi.com/n/20160129/1510592.html

延伸阅读
标签: 怀孕
孕妈咪在孕期接受大大小小多项检查。检查又分为三类:例检、定期检和特殊检查。下面我们就来看看这三类中分别有哪些小项目呢? 例检 孕妈咪每次上医院,像尿样、体重、量腹围和宫高、听胎心胎动等这些项目可都是免不了例行性检查呢。做这些检查最主要的目的是监测妈妈和宝宝状况,协助运妈咪顺利渡过孕期。 尿样: 每次拿个尿杯和试管...
标签: 摄影 摄影技巧
重大事件的拍摄技巧 1.充分的准备和安排 很多重大的事件都不是突然发生,而是经过了周密的安排才开始的,而且往往会持续一段时间,比如越南战争、人大会议、奥林匹克运动会、英国王室婚礼等等,这些世界瞩目的事件吸引着全球公众的目光,也吸引着摄影师的镜头,很多新闻照片不仅真实而全面地反映了事件的发生,甚至改变了人们对事...
艾滋病怎么检测 它的检查方法有哪些 在生活中,艾滋病是我们耳熟能详的疾病,这是一种危害性极大的传染病,能够攻击人体的免疫系统,而且它的潜伏时间非常长,很多患者在这期间都是没有一点察觉的。那么你知道艾滋病的发病原因到底有哪些吗,艾滋病怎么检测,它有哪些临床表现,又该怎样去治疗和预防呢,下面我们就一起来了...
标签: 怀孕
引起早孕反应的原因是准妈妈体内发生多种变化共同作用的结果。怀孕早期,体内的荷尔蒙分泌也发生变化,雌激素水平的迅速升高,还有人绒毛膜促性腺激素(hCG)水平也迅速升高,这被认为是引起早孕反应的原因最主要的一点。很多妇女在发现自己怀孕后,惊喜的同时总是惨和着一丝担心:未来的宝宝健康吗?有没有什么检测可以早期发现有问题的胎儿?...
标签: 孕前检查
孕前不同的检查项目检查时间不同 为了更好的保证优生优育,我们要重视孕前检查。而且孕前检查也要讲究确切的时间哦,准确的时间进行不同的孕前检查是有很多意想不到的好处的。育儿专家指出,孕前不同的检查项目检查时间不同。 孕前检查的准确时间 卵巢功能检查:经期第二、第三天。一般是经期的第二天或第三天抽血检查荷尔蒙,因为...

经验教程

560

收藏

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