下載csv,excel檔名亂碼的問題(IE和FireFox兩種瀏覽器)
阿新 • • 發佈:2018-12-30
一.使用ajax與伺服器互動 不管是post方式還是get方式都應該對中文進行編碼 只有這樣 伺服器端(ie瀏覽器 firefox不用)才能正確解析漢字 否則就是亂碼。
二.在asp.net MVC中 ie跟firefox對下載檔名的處理不同
/ ie通過編碼實現正確的檔名/
public FileContentResult DownLoad()
{
string temp = "我是中國人!";
return File(System.Text.Encoding.UTF8.GetBytes(temp), "text/plain",Url.Encode("中國.txt"));
}
/firefox不必編碼否則出現編碼後的檔名/
public FileContentResult DownLoad()
{
string temp = "我是中國人!";
return File(System.Text.Encoding.UTF8.GetBytes(temp), "text/plain","中國.txt");
}
相容firefox跟ie的做法
通過Request.Browser.Browser.ToUpper()來判斷是ie還是firefox
詳細網址參照:
http://www.cnblogs.com/chengxiaohui/articles/1985163.html