現在網路上ASP為主的網站慢慢消失
但仍有許多大系統為ASP寫成的,要完全置換成ASP.NET,需要花點時間重寫code
因此,有一種情況就是,ASP.NET和ASP共用資料
例如,登入系統是以ASP撰寫,而新版的薪資系統是以ASP.NET撰寫
當進入ASP.NET薪資系統時,必須導向ASP為主的認證系統要認證資料(核對帳號密碼是否正確)
此時會ASP會從資料庫取回資料,存入cookie,讓ASP.NET系統取用比對
若資料為中文,此時就會出現問題
因為ASP編碼是以big5為主;ASP.NET是以utf-8為主
以ASP.NET接收ASP的資料就會有問題
要解決此問題,筆者的經驗如下:
1.
修改ASP.NET專案的web.config
<globalization
requestEncoding="big5"
responseEncoding="big5"
/>
也就是把這份專案全部以big5來編碼
2.
在網頁之間傳送value時,用以下方式接收
以接收name這個變數為例,可以寫成
Server.UrlDecode(Request.Cookies["name"].Value)
---------------
如此以來可以解決新舊系統共用cookie出現中文無法通用的問題囉~
全站熱搜
留言列表