為解決實時更新資料到前端,在咱版塊找到了一個陳年舊貼:
https://bbs.csdn.net/topics/330226012
在這個貼子里面number123456兄弟給的解決方案如下:
<script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<div id="List"></div>
<script language="javascript">
function get(){
$.get("server.asp",{action:list},function(data){
$("#List").html(data);
})
}
set m = setInterval("get()",1000);//1秒鐘,請求一次
</script>
server.asp
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
'你的查詢SQL陳述句,
我除錯了下,直接這么寫沒有得到結果。將上面的代碼做了如下修改即可:
<script language="javascript">
get(); //增加了程式呼叫
function get(){
$.get("bbs.asp",{action:"#List"},function(data){ //原list改成"#List"
$("#List").html(data);
})
}
setInterval("get()", 5000);//5秒鐘,請求一次
</script>
server.asp代碼正確。
測驗可以得到應有的結果。
新的問題是:頁面在IE下漢子字呈現亂碼,在谷歌瀏覽器下沒問題。
(我現在所有的asp頁面編碼是GB2312)。如下圖:

IE下漢字呈現亂碼

谷歌瀏覽器下正常
在網上找了一些方法,一一測驗沒有解決問題。
請問高手,如何解決?
uj5u.com熱心網友回復:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><%
Response.Charset = "gb2312"
Response.CodePage = "936"
Session.CodePage = "936"
%>
server.asp頭加上這些
uj5u.com熱心網友回復:
中文亂碼,把頁面編碼改成 utf-8 就行,不懂怎么改頁面ASP頁面編碼的話自行百度,百度上一大堆uj5u.com熱心網友回復:
測驗還是亂碼!
uj5u.com熱心網友回復:
這個我知道,也是最后萬不得已的辦法,不過工程量巨大,想問問大家的意思是看有沒有保守治療的辦法。
感謝!
uj5u.com熱心網友回復:
不應該的。強制重繪下瀏覽器再試,ctrl + F5uj5u.com熱心網友回復:
感謝!還是不行,重啟服務器也不行。
我先前輸入資料庫時的頁面是GB2312編碼的ASP頁面,那么存盤在資料庫里的中文是不是就是GB2312編碼?
查了下資料說AJAX的 $.get取出時是UTF-8編碼,在GB2312的頁面上則會所有中文是亂碼(當前展示的網頁頁面也是GB2312編碼)。
所以不知道大家有沒有講$.get輸出的UTF-8編碼直接轉換成GB2312編碼呢?
uj5u.com熱心網友回復:
其實一個網站,兩種編碼是可以共存的,你可以只把server.asp,改為utf編碼uj5u.com熱心網友回復:
好的,我試下看看
uj5u.com熱心網友回復:
在頁面的head部分加上如下<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
uj5u.com熱心網友回復:
各種試了一下,感覺之前用GB2312頁面提交到資料庫的資料相當于也是GB2312編碼的,取出來之后還是這個編碼。
比如,我讓呈現頁面<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>,那么$.get資料庫出來的資料還是亂碼,頁面上本來就有的漢字正常;手動改IE編碼為GB2312就正常了。但呈現頁面上本來就有的漢字則又編程了亂碼。暈死……%……%¥¥¥%¥%¥%
uj5u.com熱心網友回復:
只有IE會出現這種問題么?
uj5u.com熱心網友回復:
樓主可以發放資料庫,讓我試試,到時候分給我~~~
uj5u.com熱心網友回復:
好可愛的問題。為什么谷歌瀏覽器沒有問題呢?一般來講,IE 更快、更穩定,只是微軟瀏覽器產品線有些長,好幾個瀏覽器產品同場競技。不如給微軟技術支持部門發個錯誤報告。uj5u.com熱心網友回復:
1.客戶端POST簡體中文亂碼問題.request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=gb2312");
2.服務器回應簡體中文亂碼問題.
1)ASP.NET
方法1.修改WEB.CONFIG檔案
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
方法2.在服務回應代碼里面設定Response回應編碼為gb2312.
2)ASP
在服務器代碼里添加如下陳述句:
response.charset="gb2312"
uj5u.com熱心網友回復:
在頁面的head部分加上如下
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
各種試了一下,感覺之前用GB2312頁面提交到資料庫的資料相當于也是GB2312編碼的,取出來之后還是這個編碼。
比如,我讓呈現頁面<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>,那么$.get資料庫出來的資料還是亂碼,頁面上本來就有的漢字正常;手動改IE編碼為GB2312就正常了。但呈現頁面上本來就有的漢字則又編程了亂碼。暈死……%……%¥¥¥%¥%¥%
如果不做任何編碼更改設定,現有的所有頁面頭部指定GB2312編碼時,就只有IE出現這種問題。uj5u.com熱心網友回復:
1.客戶端POST簡體中文亂碼問題.
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=gb2312");
2.服務器回應簡體中文亂碼問題.
1)ASP.NET
方法1.修改WEB.CONFIG檔案
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
方法2.在服務回應代碼里面設定Response回應編碼為gb2312.
2)ASP
在服務器代碼里添加如下陳述句:
response.charset="gb2312"
哈哈,正好今天上午也搜到這篇文字,正在測驗……uj5u.com熱心網友回復:
其實一個網站,兩種編碼是可以共存的,你可以只把server.asp,改為utf編碼
怎么發給你?uj5u.com熱心網友回復:
付訓礎的學了一點點,學的不好,沒看出什么毛病來![]()
uj5u.com熱心網友回復:
可以考慮在后臺用Unicode轉換GB2312格式 然后ajax 再獲取到界面uj5u.com熱心網友回復:
換成postuj5u.com熱心網友回復:
1.客戶端POST簡體中文亂碼問題.
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=gb2312");
2.服務器回應簡體中文亂碼問題.
1)ASP.NET
方法1.修改WEB.CONFIG檔案
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
方法2.在服務回應代碼里面設定Response回應編碼為gb2312.
2)ASP
在服務器代碼里添加如下陳述句:
response.charset="gb2312"uj5u.com熱心網友回復:
1.客戶端POST簡體中文亂碼問題.
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=gb2312");
2.服務器回應簡體中文亂碼問題.
1)ASP.NET
方法1.修改WEB.CONFIG檔案
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
方法2.在服務回應代碼里面設定Response回應編碼為gb2312.
2)ASP
在服務器代碼里添加如下陳述句:
response.charset="gb2312"
試了,沒解決問題uj5u.com熱心網友回復:
估計保守治療沒戲了,
有可能只能重新編碼了。uj5u.com熱心網友回復:
你可以單獨弄個demo上來,也許還有救。uj5u.com熱心網友回復:
重新編碼,轉為UTF-8的,我的網站以前也是GB2132的,總有亂碼,后來批量轉成UTF-8就好了uj5u.com熱心網友回復:
右擊瀏覽器頁面好像有編碼格式,你改一下試試uj5u.com熱心網友回復:
樓主可以發放資料庫,讓我試試,到時候分給我~~~
你可以單獨弄個demo上來,也許還有救。
好的,我做一個demo,然后再放上來,大家到時候再看看。uj5u.com熱心網友回復:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% Response.Charset = "gb2312" %>
頭部加上上面的代碼
然后使用一個文本編輯器
另存asp檔案為gb2312編碼
記住:兩者都要做uj5u.com熱心網友回復:
樓主可以發放資料庫,讓我試試,到時候分給我~~~
你可以單獨弄個demo上來,也許還有救。
好的,我做一個demo,然后再放上來,大家到時候再看看。
把gb2312換成utf-8看看,就兼容性來說,utf-8更好uj5u.com熱心網友回復:
頭部加入這個:<%Session.CodePage=936%>
在<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>下邊加入:<%Session.CodePage=936%>,還亂碼,我不信。uj5u.com熱心網友回復:
看你開頭是什么Response.Charset ,使用Fiddler打開轉為對應的編碼后保存uj5u.com熱心網友回復:
有關亂碼,有二個方面需要考慮
1、系統的編碼機制
2、檔案的保存機制
這二個方面都可能讓你的顯示是亂碼的
重點是:二個要統一
也就是你的XXx.asp檔案,保存格式是什么。那你的系統編碼機制也同樣需要這個編碼
比如:你的檔案保存的是utf8格式的。那你的檔案中必須有:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
這一句。
只要這二個不相匹配,你永遠都亂碼
或者。你檔案保存的是ANSI格式的。那你的檔案中必須有:
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
這二個一定要匹配。在ajax情況下,必須匹配,否則你的亂碼永遠解決不了。
有關檔案格式。建議你可以使用記事本來打開你的asp檔案。
另存為,然后在最下面(保存的檔案名下面)有編碼。看清楚你的編碼
然后在你的檔案中添加相應的編碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/28848.html
標籤:ASP
上一篇:ajax中重復執行,并非重復提交
