在用ASP.NET寫網上支付的接口程序時,遇到一個奇怪問題,通過表單提交過去的中文全是亂碼,英文正常。而用asp程序進行測試,可以正常提交中文,asp頁面中有這樣的HTML代碼:

可是將這個代碼加入到ASP.NET頁面中,依然解決不了問題。分析了一下,問題應該是編碼引起的,對方的程序只能處理GB2312編碼的頁面提交過來的中文數據。難道加了上面的代碼,ASP.NET卻不是以GB2312編碼顯示的?打開該頁面,查看一下瀏覽器的編碼,原來是UTF-8,原因找到,怎么解決呢?看來,ASP.NET不理睬上面的代碼,自己向瀏覽器發送編碼信息,那我設置一下Response.ContentEncoding試試,在Page_Load中加上如下代碼:
?
?

????? OK!問題解決!
方法1.
我看你還是在web.config中把國際化配置變成這樣就ok了?
我今天也是遇到這樣的事情。記得?
<system.web>?
<globalization?
fileEncoding="gb2312"?
requestEncoding="GB2312"?
responseEncoding="GB2312"
uiCulture="de-DE"?
/>?
</system.web>?
</configuration>
?
方法2.
我也遇到過類似的問題,直接寫的中文無法正常顯示,從數據庫讀出來的可以正常顯示。后來在config改為:?
<globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8" />?
fileEncoding 的值決定 ASP.NET 編碼 .aspx 文件的方式,requestEncoding 和 responseEncoding 的值決定請求數據和響應數據的編碼方式。?
保存源文件也是UTF-8。一切正常各種編碼都支持!?
所以我建議使用utf-8!