应对eWebEditor漏洞上传文件500错误的方法
作者:随然 日期:2009-11-28
eWebEditor文件上传漏洞的修补方法
作者:随然 日期:2009-11-28
用ASP获取指定范围内的一组不重复的随机整数
作者:随然 日期:2009-07-04
ASP实现access随机显示不重复记录解决方案
作者:随然 日期:2009-07-04
解决ASP访问Excel时的一个错误信息(找不到可安装的 ISAM)的解决办法
作者:随然 日期:2009-06-17
最近在做一个成绩管理系统的时候,我的excel连接情况突然报错,以前连接都没问题的,但服务器安装了一些东西后(比如数据库访问组件MDAC2.8),就发现之前的ASP导入EXCEL数据到ACCESS数据库的功能用不了,点击导入就报错。网上查了查都是说权限不够以及IMEX参数问题,或者Excel版本,最终还是找到了答案,google不错。
比如excel 连接代码如下:
-------------------------参考解决方案---------------------------
要用ASP访问Excel,其连接字符串按照connectionstrings的做法,有以下两种:
ODBC
比如excel 连接代码如下:
复制内容到剪贴板
程序代码

db = "20087-2916374-1203.xls"
connstrxls="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
connstrxls="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
-------------------------参考解决方案---------------------------
要用ASP访问Excel,其连接字符串按照connectionstrings的做法,有以下两种:
ODBC
复制内容到剪贴板
程序代码

"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;"
从ASP转学PHP
作者:随然 日期:2009-06-06
CODEPAGE=936和65001两种情况下UrlEncode和URLDecode算法详解
作者:随然 日期:2009-06-03
做网站的人都知道Server.UrlEncode函数,不过,网站做多了就会接触到gb2312和utf-8这两种不同的网页编码。网页编码只是最后形成的网页中对字符怎样编码,在网页形成的过程中还对应着不同的编码方案。一般而言,如果做的网页是gb2312的,那么ASP的CODEPAGE是936,而utf-8则是650001。
UrlEncode虽然并不直接将汉字转化为内码,但与内码有着对应关系,就同样的汉字,比如“一级棒”,在CODEPAGE=936时被转化为“%D2%BB%BC%B6%B0%F4”,而CODEPAGE=65001时被转化为“%E4%B8%80%E7%BA%A7%E6%A3%92”。它们分别就对应了“一级棒”三字的GB码和utf-8码(utf-8码与UNICODE码有一一对应的关系)。
在ASP中有两个函数可以分别获取汉字的GB和UNICODE这两种编码,它们分别是“Asc()”和“Ascw()”函数,不过这里要强列说明的是,在CODEPAGE=65001时“Asc()”函数会对双字节字符失效。
下面就拿“一级棒”的“级”字为例,它的GB码为48310(-17226 + 65536)、UNICODE码为32423,转化为16进制,就分别为BCB6和7EA7。其中GB码的十六进制表示一眼就看出来,跟UrlEncode的结果是一致的,所以下面就只要谈谈utf-8了。
进六进制7EA7在“0000 0800-0000 FFFF”范围内,对应的utf-8码为三字节。先将7EA7转化为二进制01111110 10100111,然后重新分段:0111 111010 100111,套用“1110xxxx 10xxxxxx 10xxxxxx”模板后得到11100111 10111010 10100111,就得到了E7 BA A7。再看一下UrlEncode的结果是否相符?
如果要自己写UrlEncode或UrlDecode函数,则可以跟据以上这些规则来实现,下面先列出算法,然后再来讨论是否有必要写这样的函数。(友情提醒:为了排版效果,本站使用两个全角空格来代替一个Tab,如果要验证以下函数,请自行进行替换。)
Function MyUrlEncodeGB(char)
Dim code, codeh, codel
code = "0000" & Hex(Asc(char))'兼容英文字母与数字
codel = Right(code, 2)
codeh = Left(Right(code, 4), 2)
UrlEncode虽然并不直接将汉字转化为内码,但与内码有着对应关系,就同样的汉字,比如“一级棒”,在CODEPAGE=936时被转化为“%D2%BB%BC%B6%B0%F4”,而CODEPAGE=65001时被转化为“%E4%B8%80%E7%BA%A7%E6%A3%92”。它们分别就对应了“一级棒”三字的GB码和utf-8码(utf-8码与UNICODE码有一一对应的关系)。
在ASP中有两个函数可以分别获取汉字的GB和UNICODE这两种编码,它们分别是“Asc()”和“Ascw()”函数,不过这里要强列说明的是,在CODEPAGE=65001时“Asc()”函数会对双字节字符失效。
下面就拿“一级棒”的“级”字为例,它的GB码为48310(-17226 + 65536)、UNICODE码为32423,转化为16进制,就分别为BCB6和7EA7。其中GB码的十六进制表示一眼就看出来,跟UrlEncode的结果是一致的,所以下面就只要谈谈utf-8了。
进六进制7EA7在“0000 0800-0000 FFFF”范围内,对应的utf-8码为三字节。先将7EA7转化为二进制01111110 10100111,然后重新分段:0111 111010 100111,套用“1110xxxx 10xxxxxx 10xxxxxx”模板后得到11100111 10111010 10100111,就得到了E7 BA A7。再看一下UrlEncode的结果是否相符?
如果要自己写UrlEncode或UrlDecode函数,则可以跟据以上这些规则来实现,下面先列出算法,然后再来讨论是否有必要写这样的函数。(友情提醒:为了排版效果,本站使用两个全角空格来代替一个Tab,如果要验证以下函数,请自行进行替换。)
Function MyUrlEncodeGB(char)
Dim code, codeh, codel
code = "0000" & Hex(Asc(char))'兼容英文字母与数字
codel = Right(code, 2)
codeh = Left(Right(code, 4), 2)
asp写的汉字转换utf-8及utf-8转gb2312的代码
作者:随然 日期:2009-06-02
chinese2unicode 为汉字转 UTF-8编码,utf2gb为UTF-8转换为汉字GB2312编码
复制内容到剪贴板
程序代码

function chinese2unicode(str)
dim i
dim str_one
dim str_unicode
for i=1 to len(str)
str_one=mid(str,i,1)
str_unicode=str_unicode&chr(38)
str_unicode=str_unicode&chr(35)
str_unicode=str_unicode&chr(120)
dim i
dim str_one
dim str_unicode
for i=1 to len(str)
str_one=mid(str,i,1)
str_unicode=str_unicode&chr(38)
str_unicode=str_unicode&chr(35)
str_unicode=str_unicode&chr(120)