怎么處理頁(yè)面之間傳輸中文亂碼的問(wèn)題
發(fā)表時(shí)間:2023-08-14 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]如何解決頁(yè)面之間傳輸中文亂碼的問(wèn)題hbzxf(阿好)http://www.cnblogs.com/hbzxf 有的時(shí)候我們需要在頁(yè)面之間傳輸中文,但是.NET模認(rèn)在Webconfig中為我們建立的...
如何解決頁(yè)面之間傳輸中文亂碼的問(wèn)題
hbzxf(阿好)
http://www.cnblogs.com/hbzxf
有的時(shí)候我們需要在頁(yè)面之間傳輸中文,但是.NET模認(rèn)在Webconfig中為我們建立的編碼格式為utf-8,于是在傳輸中文的時(shí)候變成了亂碼,相應(yīng)的接受也會(huì)是亂碼信息,如何解決這個(gè)問(wèn)題,我們可以用兩種方法。
更改Webconfig中的編碼方式,如下:
1.在你的web.config中把編碼
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>
改為
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
第二種方法:
首先在傳遞之前先編碼:舉例如下:
string xm=Server.URLEncode("張三");
Response.Redirect("b.aspx?xm="+xm);
然后在接收頁(yè)解碼:
string xm = Server.URLDecode(Requext.querystring("xm"));
還有一個(gè)要說(shuō)的是,在我們制作郵件系統(tǒng)時(shí),會(huì)有一個(gè)接收base64的問(wèn)題,經(jīng)常會(huì)產(chǎn)生亂碼,我是這樣解決的,不妨試試。代碼如下:
string encodedMail="郵件內(nèi)容";
byte[] barr=Convert.FromBase64String(encodedMail);
string decodedMail=System.Text.Encoding.GetEncoding("gb2312").GetString(barr);
都是作者自身經(jīng)歷的一些小問(wèn)題,不妨寫(xiě)出來(lái)讓大家看看,侃侃。
由于作者水平有限,代碼疏漏之處,請(qǐng)指點(diǎn)出來(lái),代碼很亂,敬請(qǐng)?jiān)彛?br>