asp.net ajax中文乱码的解决?2010-01-19 12:06
| ? 以前沒怎么仔細的研究過ajax,只是用到了就直接拿過來用,發現了問題再找解決方法.以下是我在找解決問題的過程中的一點小小的總結. 一.談Ajax的Get和Post的區別 ?? Get方式: ?? Post方式: ? ?? 總之,GET方式傳送數據量小,處理效率高,安全性低,會被緩存,而POST反之。 ? 使用get方式需要注意: (content)+"&id=1" ;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); abc&sex=man&age=18以及var name=?abc&sex=man&age=18的寫法都是錯誤的; 4.服務器端請求參數區分Get與Post。如果是get方式則$username = $_GET["username"]; 如果是post方式,則$username = $_POST["username"]; ? Post和Get 方法有如下區別: get 方法用Request.QueryString["strName"]接收 注意: ? AJAX亂碼問題 產生亂碼的原因: gb2312:header('Content-Type:text/html;charset=GB2312'); utf8:header('Content-Type:text/html;charset=utf-8'); 注意:如果你已經按上面的方法做了,還是返回亂碼的話,檢查你的方式是否為get,對于get請求(或凡涉及到url傳遞參數的),被傳遞的參數都要先經encodeURIComponent方法處理.如果沒有用encodeURIComponent處理的話,也會產生亂碼. 1. 在web.config里面增加<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/> 2. 在后臺代碼里面對亂碼進行decoder操作 上面兩種都不是好的方案,第一個可能會導致其他的頁面出現問題, 第二個雖然存到數據庫中的是正確的,但是,用戶看到的仍然是亂碼,嚴重影響用戶體驗。那么,最好的解決方法在哪里? 解決思路:我們可以通過對web.config文件增加 <location> 配置節來對特定文件或者目錄進行encoding配置 ,如下: <location path="此處為目錄或文件名"> ??? <system.web> ????? <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/> ??? </system.web> </location> |
總結
以上是生活随笔為你收集整理的asp.net ajax中文乱码的解决?2010-01-19 12:06的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tomcat 申请证书配置https
- 下一篇: [原创]同一页面无法多次使用XmlHtt