类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
在一个上传的页面中,用Request对象处理上传的数据,发现读取的都是二进制数据.问题是,其中有中文字符的时候,转换回文字时就不行.
下面是转换的代码,对于字母和数字都没问题,问如果要还原成中文,怎么修改?
Function bin2str(binstr)
Dim varlen
Dim skipflag
Dim qm
Dim wm
Dim ccc
skipflag=0
ccc = ""
If Not IsNull(binstr) Then
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
qm =AscB(MidB(binstr,i,1))
If qm >127 Then
wm=AscB(MidB(binstr,i+1,1))
ccc=ccc & chrw(qm*256-65536+wm) 问题可能出现在这里
skipflag=1
else
ccc=ccc & chr(qm)
end if
else
skipflag=0
end if
Next
End If
bin2str = ccc
End Function
网友回答:
up
关注!!!!
汉字转换ASC的时候可能会出现问题.
一般用得比较多的是FSO,当然无组件上传都不错.
FSO没有这种问题,除非文件名乱码。
无组件只能采用二进制数据流传递,这里你最好先取得文件中文名
然后用自己定义的无序乱码命名
服务器端下载的时候替换回来。