如何解決頁面之間傳輸中文亂碼的問題
hbzxf(阿好)
http://www.cnblogs.com/hbzxf
有的時候我們需要在頁面之間傳輸中文,但是.NET模認在Webconfig中為我們建立的編碼格式為utf-8,於是在傳輸中文的時候變成了亂碼,相應的接受也會是亂碼信息,如何解決這個問題,我們可以用兩種方法。
更改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);
然後在接收頁解碼:
string xm = Server.URLDecode(Requext.querystring("xm"));
還有一個要說的是,在我們制作郵件系統時,會有一個接收base64的問題,經常會產生亂碼,我是這樣解決的,不妨試試。代碼如下:
string encodedMail="郵件內容";
byte[] barr=Convert.FromBase64String(encodedMail);
string decodedMail=System.Text.Encoding.GetEncoding("gb2312").GetString(barr);
都是作者自身經歷的一些小問題,不妨寫出來讓大家看看,侃侃。
由於作者水平有限,代碼疏漏之處,請指點出來,代碼很亂,敬請原諒!