GB2312:
Public Function CheckLen(str, Numg)
Dim l, t, c, n
If str = "" Then
CheckLen = ""
Exit Function
End If
l = Len(str)
t = 0
For n = 1 To l
c = Abs(Asc(Mid(str, n, 1)))
If c > 255 Then
t = t + 2
Else
t = t + 1
End If
If t >= Numg Then
CheckLen = Left(str, n) & "..."
Exit For
Else
CheckLen = str
End If
Next
End Function
utf-8(windows2000服务器)
Public Function CheckLen(str, Numg)
Dim l, t, c, n
If str = "" Then
CheckLen = ""
Exit Function
End If
l = Len(str)
t = 0
For n = 1 To l
c = Abs(Asc(Mid(str, n, 1)))
If c = 1 Then
t = t + 2
Else
t = t + 1
End If
If t >= Numg Then
CheckLen = Left(str, n) & "..."
Exit For
Else
CheckLen = str
End If
Next
End Function
utf-8(windows2003服务器)
Public Function CheckLen(str, Numg)
Dim l, t, c, n
If str = "" Then
CheckLen = ""
Exit Function
End If
l = Len(str)
t = 0
For n = 1 To l
c = Abs(Asc(Mid(str, n, 1)))
If c = 0 Then
t = t + 2
Else
t = t + 1
End If
If t >= Numg Then
CheckLen = Left(str, n) & "..."
Exit For
Else
CheckLen = str
End If
Next
End Function
在2000下和03下不一样,郁闷。。
发表于 @ 2006年08月30日 10:29:00|评论(loading...)|编辑