io ho fatto questa funzioncina... non l'ho testata molto ma credo vada bene...
codice:
function LeftUnicode(stringa,caratteri)
	Set objRE = New RegExp 
	objRE.Global = True 
	objRE.IgnoreCase = True
	objRE.Pattern = "&#\d*?;"
	set ris = objRE.Execute(stringa)
	strTemp = Left(objRE.Replace(stringa,""),caratteri)
	if ris.count>0 then
		for each rr in ris
			if rr.FirstIndex<Len(strTemp) then
				prima = Mid(strTemp,1,rr.FirstIndex)
				dopo = Mid(strTemp,rr.FirstIndex+1)
				strTemp = prima & rr.value & Left(dopo,Len(dopo)-1)
			else
				exit for
			end if
		next
	end if
	LeftUnicode=strTemp
end function

tuaStringa = "pippoеplutoеbasta"
numeroCaratteri = 7
Response.Write tuaStringa & "<hr>" & numeroCaratteri & "<hr>" & LeftUnicode(tuaStringa,numeroCaratteri)
preleva il codice quotando il mio messaggio e famme sape' se funzia a modo