簡(jiǎn)單的請(qǐng)求,簡(jiǎn)單的響應(yīng),但是亂碼產(chǎn)生了
Why?
亂碼之所以產(chǎn)生,原因很簡(jiǎn)單,無(wú)非就是編碼表用錯(cuò)了,如傳的是big5字符,接收卻使用utf-8,或utf-8編碼,卻用GB2312解碼。
好吧,先確認(rèn)一下是否請(qǐng)求過(guò)程中產(chǎn)生的亂碼
那我發(fā)過(guò)去的是亂碼嗎?
打開(kāi)C:/tmp/下的test.txt
這是什么編碼,猜一猜?
看來(lái)客戶(hù)端沒(méi)錯(cuò),且正確地到了服務(wù)器端了,那應(yīng)該是asp.net搞錯(cuò)了編碼了,HttpRequest類(lèi)里找下有沒(méi)有相關(guān)的Encoding相關(guān)的屬性
看看web.config吧
測(cè)試一下修改成utf-8看看
原因成功找到,看來(lái)就是客戶(hù)端傳utf-8,然后服務(wù)器端big5接收產(chǎn)生問(wèn)題
不過(guò)這個(gè)專(zhuān)案不能這樣解決,因?yàn)檫@個(gè)舊專(zhuān)案跑了很久了,改這里可能影響以前的其它程式,那就改客戶(hù)端吧,設(shè)置請(qǐng)求屬性為utf-8,讓asp.net不迷茫
修改ajax請(qǐng)求代碼,設(shè)定charset屬性
問(wèn)題得以解決,不過(guò)最近也有在vs2005中使用jquery,沒(méi)有發(fā)生亂碼,可能是vs2005已經(jīng)默認(rèn)為utf-8了(有空再去找下是在哪里默認(rèn)的,或那位TX告知一下)
vs.net2003默認(rèn)是本機(jī)操作系統(tǒng)的編碼,如big5,gb2312,因此常常發(fā)生亂碼問(wèn)題.
另,分享一個(gè)簡(jiǎn)單的文本文件的亂碼查看方法.
對(duì)于一些不是以txt結(jié)尾的文本檔(如aspx,cs),可以先將后綴改為txt,然后再打開(kāi)IE看,否則IE會(huì)不認(rèn)得,直接下載
圖片太多,請(qǐng)網(wǎng)速慢的TX原諒~~
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注