|
簡單的請求,簡單的響應(yīng),但是亂碼產(chǎn)生了
Why?
亂碼之所以產(chǎn)生,原因很簡單,無非就是編碼表用錯(cuò)了,如傳的是big5字符,接收卻使用utf-8,或utf-8編碼,卻用GB2312解碼。
好吧,先確認(rèn)一下是否請求過程中產(chǎn)生的亂碼
那我發(fā)過去的是亂碼嗎?
打開C:/tmp/下的test.txt
這是什么編碼,猜一猜?
看來客戶端沒錯(cuò),且正確地到了服務(wù)器端了,那應(yīng)該是ASP.NET搞錯(cuò)了編碼了,HttpRequest類里找下有沒有相關(guān)的Encoding相關(guān)的屬性
看看web.config吧
測試一下修改成utf-8看看
原因成功找到,看來就是客戶端傳utf-8,然后服務(wù)器端big5接收產(chǎn)生問題
不過這個(gè)專案不能這樣解決,因?yàn)檫@個(gè)舊專案跑了很久了,改這里可能影響以前的其它程式,那就改客戶端吧,設(shè)置請求屬性為utf-8,讓ASP.NET不迷茫
修改ajax請求代碼,設(shè)定charset屬性
問題得以解決,不過最近也有在vs2005中使用jquery,沒有發(fā)生亂碼,可能是vs2005已經(jīng)默認(rèn)為utf-8了(有空再去找下是在哪里默認(rèn)的,或那位TX告知一下)
vs.NET2003默認(rèn)是本機(jī)操作系統(tǒng)的編碼,如big5,gb2312,因此常常發(fā)生亂碼問題.
另,分享一個(gè)簡單的文本文件的亂碼查看方法.
對于一些不是以txt結(jié)尾的文本檔(如ASPx,cs),可以先將后綴改為txt,然后再打開IE看,否則IE會(huì)不認(rèn)得,直接下載
圖片太多,請網(wǎng)速慢的TX原諒~~
JavaScript技術(shù):Jquery亂碼的一次解決過程 圖解教程,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。