2005/8/17
open 方法打开文本文件经常遇到乱码问题,今天俺尝试打开一法文文本 和 英文文本,notepad 中出现问题,后来在 CSDN 重赏,竟然无人能解决.,查了两天,也无结果.无意中在 microsoft msdn 新闻组中发现 adodb.stream 在上传下载中可以进行 charset , 正合吾意, 马上试试,果然成功.
不要用 StrConv(InputB$(LOF(hFile), #hFile), vbUnicode) 这种方式来解决问题,因为你打开的文本编码是不确定的,另外还存在大容量文本的问题.
现归纳成如下函数,该函数能解决由于 utf-8,unicode,ansi,..... 等任何已知编码出现的乱码问题.
'http://spaces.msn.com/members/standardtrip
Function UTFDecode(filePathName As String, writeCode As String, readCode As String) As String
Dim adoSd As ADODB.Stream
Set adoSd = New ADODB.Stream
' adoSd.Mode = adModeRecursive
adoSd.Type = adTypeText
adoSd.Open
adoSd.Charset = writeCode 'UTF-8
adoSd.LoadFromFile filePathName
adoSd.Position = 0
adoSd.Charset = readCode 'gb2312
UTFDecode = adoSd.ReadText
adoSd.Close
Set adoSd = Nothing
End Function
好东西要共享,转载请注明出处.
2005/8/4

在ArcPad Studio 6 上面进行二次开发是比较痛苦的,但是其开发功能实在不敢恭维。虽然只是一些简单的 Script 脚本,但面对凌乱的结构,和巨多的Object Model Reference 和 XML Reference , 仅仅靠三个输入面板来完成复杂的项目已经很吃力。
希望 7.1在9月份能给我惊喜。
再来看看这些新特性吧
支持的数据格式
矢量格式:SHP files、ESRI graphic layers。
栅格格式:TIFF、JPEG2000、MrSID (MG2)、JPEG、PNG、BMP、GIF等。
桌面操作系统
Windows XP, Tablet PC Edition, Win 2000。
移动操作系统
Windows Mobile 和CE(将支持在Windows Mobile 5下运行,但不确定具体时间。
工具集&功能集
ArcGIS中的ArcPad工具条
提供识别、查询、量算、超链接、漫游、缩放、地图旋转、用户化定制等工具。
支持ArcGIS符号、线型,复杂线型,透明填充样式,提供样式表
支持多线放置标签
可以通过使用输入笔、GPS以及坐标转换创建和编辑数据
编辑工具:对齐、撤消、插入、添加、移动、旋转、设置比例、调整尺寸、偏移、重复属性,以及添加野外作业草图及注记。
GPS支持
国家海洋电子协会(NMEA)
Trimble标准界面方案(TSIP)
Rockwell 精密光学GPS接收机(PLGR) GPS二进制方案
DeLorme Earthmate二进制方案
还支持Laser Atlanta、LaserCraf、Laser Technology、MDL、Leica提供的定位工具。
数码摄像支持
目前只支持两种数码系列---- HP iPaq rx37xx和and h63xx series。
总的来说,ESRI推出ArcPad 7还是令人振奋的! 因其用户化定制功能相当简便,工作者不但可以在办公室利用支持工具和辅助程序进行开发设计,还可以根据需要在野外直接设置。加之用户界面简单易学,初学者可以迅速掌握并很快开展工作。但是,因其不支持MsSID MG3,提供的数码摄像支持不够多,以及更新周期较长等,想必销售量会因此而受到一定影响。
2005/6/12
一直在进行的数据挖掘工具仍然在缓慢地进行中,其原因是新的蜘蛛、机器人总是能给人带来一些新思路。大名鼎鼎的Google终于有 Hacker 归纳总结了其开源的API精华。在今天的晨报中,有一篇文章摘要了关于Google在纽约的应用,说是一个爱好者把当天的所有犯罪记录在Google地图上进行标记,方便出行的人参考。图行天下(www.go2map.com)公司以前有开发该功能,实际上是MapInfo有该功能,当时在进行Esri IMS开发的时候就有参考,其实技术已经早在4、5年前已经实现了,对于我这样一个低端程序员都可以进行的工作,直到今天才在美国公众领域真正应用。有点对生活有所向往而非技术了。
在Baidu、Google搜索了一下GoogleHacks,果然找到不少文档,可惜是英文版的文档,看来要好好肯肯了,比较痛恨自己英语差。他们是这样说的。
you'll need your own Google key. You can get it at Google for free and you'll need it at other sites with Google hacks too.
关于开发第一个旅游搜索引擎是很早的想法了,之前做了个小型的蜘蛛,由于对底层不熟悉,VB的效率并不是很高,Google Hacks 开源的API希望能带来一些新启发。
看来这个工作并不是那么轻松,继续奋斗ing...
2005/5/28
终于把第一个国产海鲜管理系统(到目前为止在百度&Google找不到海鲜管理系统)做了个框架,不知道客户会怎么提意见。anyway,这个晚上还是没有白费,为了一个reorder point(重订购点)问了很多英语网友,感谢 testimonial 给了我很多关于 reorder point的解释,虽然她说的全部是英语。最后还是google帮了大忙。其实reorder point 相当于以前做库存管理时候的库存预警之类的东东。
2005/5/23
已经是临晨了,看了一下 lovingkiss的专栏 文章,写的很不错,其中XML做XP菜单分隔用的是HTC+CSS+XML写的,http://blog.csdn.net/lovingkiss/archive/2005/02/03/278650.aspx ,非常不错,现取其精华归纳成ASP代码如下:
y.asp
<%
set objXML = server.createobject("microsoft.xmldom")
objxml.load(server.mappath("y.xml"))
if objxml.readyState = 4 then
Set Root = objxml.getElementsByTagName("item")
'Response.Write Root.length'菜单个数
For i=0 To Root.length-1'读取一级子菜单
Response.Write Root(i).getAttribute("name")'属性name
If Root(i).childNodes.length>0 Then
'response.write "拥有子节点" 'Root(II).getAttribute("sub")
ReadChildItem(Root(i))
end if
Response.Write "<br>"
Next
else
response.write "加载XML文件失败"
end if
sub ReadChildItem(ParentNode)'读取子节点函数
For j=0 To ParentNode.childNodes.length-1
'response.write "["&ParentNode.childNodes.length-1&"]"
response.write "["& ParentNode.childNodes(j).getAttribute("name") &"]"
'If ParentNode.childNodes(j).getAttribute("name") <> "-" Then
'If ParentNode.childNodes(j).childNodes.length=0 Then
'ParentNode.childNodes(j).getAttribute("name")
'If Not IsNull(ParentNode.childNodes(j).getAttribute("name")) then Response.Write ParentNode.childNodes(j).getAttribute("name")
next
end sub
%>
y.xml
<?xml version="1.0" encoding="gb2312"?>
<data>
<item name="a" value="1" />
<item name="b" value="2">
<sub name="xx" url="u1" />
</item>
<item name="c" value="3">
<sub name="cxx1" url="u1">sub1</sub>
<sub name="cxx1" url="u1">sub2</sub>
<sub name="cxx2" url="u1" />
</item>
<item name="d" value="4" />
</data>
今天一程序员在CSDN于是说 “net 平台的时代还有必要学VB6吗?”
软件在于应用,不管什么年代,只要东西够用,那就不会被淘汰。就像竹筷子一样,n年前就有了,现在都有了筷子.Net2001版,筷子.Net2002版,筷子.Net2003版,筷子.Net2005版,有合成材料的筷子,有不锈钢筷子,等等。但是,我们还是会用竹筷子啊,为什么,道理是一样的。东西会不会淘汰,不是由哪个厂商来决定的,厂商要做的事情就是不断更新版本赚钱。我们要作的是保值现有的东西去赚钱。新的不一定就是最合适的,要看它适不适应市场。市场是检验产品的唯一手段。
2005/5/20
有时候聊天不仅是为了表达自己的看法,而且也是一种自我学习的方法。
太无知:jon,你对php注入怎么样?
太无知:我找到个防御不彻底的php注入点,不能用工具,麻烦~~
木瓜(129071) 07:43:21
早啊,怎么现在专搞这些玩意。
太无知:学东西啊
木瓜(129071) 07:44:43
现在很多真正有价值的网站都会打上注入补丁,要么在程序里面要么在数据库里面
木瓜(129071) 07:45:11
学注入还不如去csdn多跟皱建他们学点pl3的东西。
太无知:什么是pl3?
太无知:perl3?
木瓜(129071) 07:45:55
sql 啊。你不是要学注入吗? 各种数据库系统的通用规范阿。
xiaolu(50446) 07:43:03
找邹建没用
xiaolu(50446) 07:43:12
他写的程序照样很多注入
太无知:………………
太无知:好多高级注入技术哦
xiaolu(50446) 07:43:40
低级的注入
xiaolu(50446) 07:44:07
邹建写的程序连过滤都没有
太无知:…………
tab替换空格这样的?
xiaolu(50446) 07:44:15
sql语句熟悉有什么用
木瓜(129071) 07:47:40
我无语。我以为皱建是顶尖的sql高手了。
zOliverz(790526) 07:44:38
这是程序架构的缺陷,如果三层架构,数据层全部封装的,基本上很难注入
xiaolu(50446) 07:44:44
安全需要很多方面结合
木瓜(129071) 07:48:15
是的。
太无知:数据库再好,他没搞过注入怎么知道得这么多啊
xiaolu(50446) 07:45:02
封装也有入口啊
xiaolu(50446) 07:45:11
一切输入都是有害的
木瓜(129071) 07:48:36
不会吧。举例呢。
木瓜(129071) 07:49:03
封装也有入口吗?
太无知:是啊
xiaolu(50446) 07:45:53
你就知道为什么sql2000为啥要出sp4就行了
木瓜(129071) 07:49:35
阿,什么时候有sp4 了,不是 sp3 a 吗??
zOliverz(790526) 07:46:21
有sp4了
zOliverz(790526) 07:46:25
有溢出
xiaolu(50446) 07:46:38
木瓜(129071) 07:50:08
我去看看先,今天工作看来是要狂打补丁了。
太无知:sp4还有溢出?
Brahacker(79978) 07:47:02
木瓜(129071) 07:56:19
在进行注入的时候你们一般会输入“,';(”等asc2段为非字母数字段 对吗? 我一般是把所有 post,get 过来的这些符号he select,update,delete,insert from 替换 gbk的全角字符,并且将post,get。这样还会有漏洞吗?
木瓜(129071) 07:57:41
xiaolu(50446) 07:54:24
cookie呢 user-agent呢
木瓜(129071) 07:58:10
我不用 cookie 的,这玩意不能跨服务器。
太无知:有免'注入方法的
木瓜(129071) 07:58:51
user-agent 在 服务器端修改了。==,你说的user-agent
木瓜(129071) 08:00:54
我也把sql的关键词转换成了全角啊。除此之外呢?
木瓜(129071) 08:01:13
只要是英文,都是全角,所以全部是字符串
木瓜(129071) 08:02:10
显示的时候再用脚本变成半角
xiaolu(50446) 07:59:02
Brahacker(79978) 07:59:11
xiaolu(50446) 07:59:32
狠毒
木瓜(129071) 08:02:56
怎么啦。
木瓜(129071) 08:03:44
不知道还有其他漏洞没有。
太无知:这招够狠哦
木瓜(129071) 08:06:29
对于开发国际版本的,就用一个简单的替换程序。因为老外机器/服务器里面没有汉字。 把所有a,b,c全部打乱存到数据库,前台同样用24行简单的javascript替换。这种方法很简单,但是我周围好像都没有人这么做。
木瓜(129071) 08:06:43
我不知道还有其他漏洞没有。
xiaolu(50446) 08:04:13
如果别人看了你的js 杂办呢
xiaolu(50446) 08:04:43
国外的没全角啊
木瓜(129071) 08:08:46
看了没用阿。
太无知:为什么要用JS呢?
xiaolu(50446) 08:05:52
知道你怎么编码了 就有用了
xiaolu(50446) 08:06:03
不过这也够费时费力的
太无知:可以写工具
太无知:
xiaolu(50446) 08:06:28
写个组件来作
太无知:其实一个函数就搞定了,简单的可逆加密而已
木瓜(129071) 08:10:25
有些脚本程序、服务器没有类似jsp/asp那么方便,没有组件
xiaolu(50446) 08:07:22
这太费资源了
木瓜(129071) 08:11:06
不会费资源。
太无知:不会吧,简单的字符映射就行了啊
xiaolu(50446) 08:08:01
会的
xiaolu(50446) 08:08:07
你这是全部处理
xiaolu(50446) 08:08:29
过滤只是处理输入 不用处理输出
太无知:
木瓜(129071) 08:12:38
javascript 只在客户端执行。 至于服务器端就不用考虑那么多了。 没有太多的影响,至少目前。
xiaolu(50446) 08:09:24
太无知:没这么复杂啊,输入和输出是对于数据库来说就行了
xiaolu(50446) 08:09:41
那数据量大了 ie岂不经常挂掉
木瓜(129071) 08:14:00
什么数据量大呢,怎么算大啊。你看看微软的msdn 那些页面,不吓死你才怪 呢。
木瓜(129071) 08:14:08
几千行脚本
太无知:只是查询条件字段才这样搞的啊,会有多大量?不需要
木瓜(129071) 08:15:38
太无知,你刚才不是说皱建的也有漏洞? 他有 sql 自身方防注入的 自定义函数&存储过程,我记得好像有,不过没有用过,找找先。
太无知:怎么防啊,只调用存储过程?
xiaolu(50446) 08:13:18
利用本身的函数
木瓜(129071) 08:17:07
我没有仔细看过,好像是,==,我再去看看。
太无知:asp<--->(检测注入)sql?
太无知:这样asp的数据库查询能力不就打折扣了吗
木瓜(129071) 08:18:31
不是啊,是纯粹的sql server,至于sbase,db2,...之类的就用的少了。
木瓜(129071) 08:20:09
怎么会那,在程序里面就过滤了,
太无知:他有 sql 自身方防注入的 自定义函数&存储过程
太无知:这些东西是在sql server里做的吧
木瓜(129071) 08:20:47
我记得以前皱建数的是,进入sql执行层的时候是,在sql执行之前判断是否注入,再执行查询语句。
木瓜(129071) 08:21:09
你也用紫光拼音?
太无知:我copy的你的
太无知:kick
木瓜(129071) 08:21:52
xiaolu(50446) 08:18:57
刚才你说那个全角的问题
比如
xx.asp?str=abc 这样的你怎么处理的呢
木瓜(129071) 08:22:24
开了很多程序,好慢啊。
木瓜(129071) 08:22:51
这样吗?木瓜(129071) 07:56:19
在进行注入的时候你们一般会输入“,';(”等asc2段为非字母数字段 对吗? 我一般是把所有 post,get 过来的这些符号he select,update,delete,insert from 替换 gbk的全角字符,并且将post,get。这样还会有漏洞吗?
太无知:那样的话asp就不能用子句查询了,那还不如让厂商发布个补丁,把sql能被注入的查询都去掉~~
木瓜(129071) 08:23:21
这里是屏蔽非数字&字母
木瓜(129071) 08:24:13
一般是 再加一个 cint() / int()
木瓜(129071) 08:24:30
不知道还有没有。
木瓜(129071) 08:24:59
再说,你也知道,现在地程序,我都很少直接做链接了。
木瓜(129071) 08:25:38
所有页面 Must ,必须必须 提交。做脚本,这样不仅减少代码量,而且安全。 以前不懂事的时候就直接 链。
木瓜(129071) 08:26:11
还有其他漏洞吗? 很想&你们沟通呢,因为俺吃过大亏。
木瓜(129071) 08:27:38
xiaolu, http://www.microsoft.com/china/sql/downloads/default.asp 没有sp4啊,你说的是sql 7.0的sp4吧。 2k的只有sp3a
xiaolu(50446) 08:26:35
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
木瓜(129071) 08:31:38
现在机器好慢ing... =
木瓜(129071) 08:32:28
thank you!!
xiaolu(50446) 08:29:40
不客气
木瓜(129071) 08:33:21
木瓜(129071) 08:34:51
This issue only impacts computers with more than two gigabytes (2 GB) of memory where AWE has been explicitly enabled. If you have this configuration, you should not install SP4.
木瓜(129071) 08:35:07
有些机器不要打,我继续看ing...
xiaolu(50446) 08:32:26
我倒 你看英文的
木瓜(129071) 08:37:39
一般要仔细看两三遍才明白
太无知:
还是我厉害,我看一遍就明白了
太无知:他的意思是“你看不懂的”
木瓜(129071) 08:38:27
木瓜(129071) 08:39:20
我这里英文打开快一些,原来你给我的地址是中文的。呵呵。现在看中文方便多了。
太无知:………………
xiaolu(50446) 08:37:06
xiaolu(50446) 08:37:36
太无知:这图片做得好啊