ASP中進行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼
來源:易賢網(wǎng) 閱讀:977 次 日期:2014-09-19 10:08:12
溫馨提示:易賢網(wǎng)小編為您整理了“ASP中進行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼”,方便廣大網(wǎng)友查閱!

在有些時候我們無法控制亂碼的出現(xiàn), 比如發(fā)送郵件的時候有些郵件顯示亂碼, 比如Ajax返回數(shù)據(jù)總是亂碼. 怎么辦? 前些天我就碰到了用Ajax提交表單, 然后發(fā)送郵件的情況. 于是寫出了下面的兩個函數(shù)來解決這兩個問題.

第一個函數(shù)把HTML中的數(shù)據(jù)轉(zhuǎn)成HTML實體, 而HTML標簽則自動不轉(zhuǎn), 這樣無論到哪里都不會亂碼, 可以在發(fā)送郵件時選擇發(fā)送HTML格式的郵件.

第二個函數(shù)把JS數(shù)據(jù)同樣是換成轉(zhuǎn)義字符, 同樣避開了JS關(guān)鍵詞等字符的轉(zhuǎn)換, 不管網(wǎng)頁是什么編碼它都不會亂碼. 廢話少說, 看下面的代碼.

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

如果你是抱著拿著就用的態(tài)度那么可以什么也不管直接用, 當然很多時候我們?yōu)榱藵M足特殊情況的需要, 會改寫一些代碼, 如果你報著學習與研究的態(tài)度, 那么這里需要注意的是 Ascw(char) 函數(shù)有可能返回長整型值, 而ASP把它當成整型看待, 需要做些小的處理.

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:ASP中進行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權(quán)所有:易賢網(wǎng)