前些天我就碰到了用Ajax提交表單, 然后發送郵件的情況. 于是寫出了下面的兩個函數來解決這兩個問題. 
第一個函數把HTML中的數據轉成HTML實體, 而HTML標簽則自動不轉, 這樣無論到哪里都不會亂碼, 可以在發送郵件時選擇發送HTML格式的郵件. 
第二個函數把JS數據同樣是換成轉義字符, 同樣避開了JS關鍵詞等字符的轉換, 不管網頁是什么編碼它都不會亂碼. 廢話少說, 看下面的代碼. 
 代碼如下: 
Function htmlentities(str) 
Dim a,i,char 
For i = 1 to Len(str) 
char = mid(str, i, 1) 
a=Ascw(char) 
If a > 128 Or a < 0 then 
htmlentities = htmlentities & “” & clng(”&h” & hex((Ascw(char)))) & “;” 
Else 
htmlentities = htmlentities & char 
End if 
Next 
End Function 
Function Unicode(str1) 
Dim str,temp 
str = “” 
For i=1 To Len(str1) 
temp = Hex(AscW(Mid(str1,i,1))) 
If len(temp) < 5 Then temp = Right(”0000″ & temp, 4) 
str = str & “/u” & temp 
Next 
Unicode = str 
End Function 
 
如果你是抱著拿著就用的態度那么可以什么也不管直接用, 當然很多時候我們為了滿足特殊情況的需要, 會改寫一些代碼, 如果你報著學習與研究的態度, 那么這里需要注意的是 Ascw(char) 函數有可能返回長整型值, 而ASP把它當成整型看待, 需要做些小的處理.