ASP中進(jìn)行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼發(fā)布者:本站 時(shí)間:2020-05-06 16:05:42
在有些時(shí)候我們無法控制亂碼的出現(xiàn), 比如發(fā)送郵件的時(shí)候有些郵件顯示亂碼, 比如Ajax返回?cái)?shù)據(jù)總是亂碼. 怎么辦? 前些天我就碰到了用Ajax提交表單, 然后發(fā)送郵件的情況. 于是寫出了下面的兩個(gè)函數(shù)來解決這兩個(gè)問題.
第一個(gè)函數(shù)把HTML中的數(shù)據(jù)轉(zhuǎn)成HTML實(shí)體, 而HTML標(biāo)簽則自動(dòng)不轉(zhuǎn), 這樣無論到哪里都不會(huì)亂碼, 可以在發(fā)送郵件時(shí)選擇發(fā)送HTML格式的郵件.
第二個(gè)函數(shù)把JS數(shù)據(jù)同樣是換成轉(zhuǎn)義字符, 同樣避開了JS關(guān)鍵詞等字符的轉(zhuǎn)換, 不管網(wǎng)頁是什么編碼它都不會(huì)亂碼. 廢話少說, 看下面的代碼.
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)度那么可以什么也不管直接用, 當(dāng)然很多時(shí)候我們?yōu)榱藵M足特殊情況的需要, 會(huì)改寫一些代碼, 如果你報(bào)著學(xué)習(xí)與研究的態(tài)度, 那么這里需要注意的是 Ascw(char) 函數(shù)有可能返回長(zhǎng)整型值, 而ASP把它當(dāng)成整型看待, 需要做些小的處理.
選擇我們,優(yōu)質(zhì)服務(wù),不容錯(cuò)過
1. 優(yōu)秀的網(wǎng)絡(luò)資源,強(qiáng)大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設(shè)經(jīng)驗(yàn),優(yōu)秀的技術(shù)和設(shè)計(jì)水平,更放心
3. 全程省心服務(wù),不必?fù)?dān)心自己不懂網(wǎng)絡(luò),更省心。
------------------------------------------------------------
24小時(shí)聯(lián)系電話:021-58370032