截取字符的长度会因为中英文混合而出现很大误差。asp中的中文空间能用,英文默认就是两个字符
<%Function LeftT(str,n)
If len(str)<=n/2 Then
LeftT=str
Else
Dim TStr
Dim l,t,c
Dim i
l=len(str)
t=l
TStr=""
t=0
for i=1 to l
c=asc(mid(str,i,1))
If c<0 then c=c+65536
If c>255 then
t=t+2
Else
t=t+1
End If
If t>n Then exit for
TStr=TStr&(mid(str,i,1))
next
LeftT = TStr+".."
End If
End Function
str="中文中文中文中文中文中文中文中文中文"
Response.Write(left(str,12)&"<br/>")
Response.Write(LeftT(str,12)&"<br/>")
%>