網(wǎng)站建設(shè)中提交表單獲取表單數(shù)據(jù)亂碼解決方法發(fā)布者:本站 時間:2020-05-16 08:05:08
我在做一個調(diào)查問卷的頁面,要發(fā)送到客戶郵箱,以完成調(diào)查,但今天在測試時發(fā)現(xiàn),通過
<formaction="…"method="post"id="form1"target="_blank"name="form1">
…
</form>
這種方法提交表單,然后在我的站點下獲取表單后,獲取的數(shù)據(jù)都是亂碼.心中很是納悶,.
莫非是編碼原因?
喜歡刨根問底的我繼續(xù)尋找問題..
我在后臺獲取數(shù)據(jù)頁面里進行了utf-8轉(zhuǎn)成gb2312的轉(zhuǎn)換,,哦忘了說了,我是發(fā)給163郵箱滴.
但是結(jié)果仍然是亂碼.
我想到了抓包工具..分析了下.發(fā)現(xiàn)了
Accept-Encoding這么一個代碼..
于是Google好久.
原來163對對post的數(shù)據(jù)進行了Gzip壓縮.
貌似.NET里面有對Gzip解壓的類..找了很久..
未果。。
仔細回想下..我這種提交時方式相當于在不同的編碼方式下提交表單(因為Accept-Encoding也是種編碼方式)
在vs2008里的<form>標簽下敲了下回車發(fā)現(xiàn)了一個屬性.accept-charset
這個屬性可以實現(xiàn)在不同的編碼頁面下提交表單.
娘呀.算是找到救星了.
<formaction="result.aspx"accept-charset="utf-8"method="post"id="form1"target="_blank"name="form1">
…
</form>
在IE下還是會有亂碼.上面這種寫法是W3C標準的寫法,在符合W3C標準的瀏覽器下不會出現(xiàn)亂碼
IE下這樣寫
<formaction="result.aspx"accept-charset="utf-8"onsubmit="document.charset='utf-8';"method="post"id="form1"target="_blank"name="form1">
…
</form>
選擇我們,優(yōu)質(zhì)服務(wù),不容錯過
1. 優(yōu)秀的網(wǎng)絡(luò)資源,強大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設(shè)經(jīng)驗,優(yōu)秀的技術(shù)和設(shè)計水平,更放心
3. 全程省心服務(wù),不必擔心自己不懂網(wǎng)絡(luò),更省心。
------------------------------------------------------------
24小時聯(lián)系電話:021-58370032