您好,登錄后才能下訂單哦!
c#中httpstatuscoderesult語法如下:
public HttpStatusCodeResult( HttpStatusCode statusCode, string statusDescription )
在Action中通過
return new HttpStatusCodeResult(HttpStatusCode.BadRequest,"我是中文字符串")
在前端返回的是亂碼。
原因:
根據 http 協議,StatusDescription 是寫在 http header 中的,默認所有header是用iso-8859-1編碼的,但是中文實際是用uft8編碼。所以就出現了亂碼問題。
解決:
使用轉碼把UTF8編碼轉為iso-8859-1編碼
附c#轉碼代碼:
/// <summary> /// 轉換為ISO_8859_1 /// </summary> /// <param name="srcText"></param> /// <returns></returns> private string StringToISO_8859_1(string srcText) { string dst = ""; char[] src = srcText.ToCharArray(); for (int i = 0; i < src.Length; i++) { string str = @"&#" + (int)src[i] + ";"; dst += str; } return dst; } /// <summary> /// 轉換為原始字符串 /// </summary> /// <param name="srcText"></param> /// <returns></returns> private string ISO_8859_1ToString(string srcText) { string dst = ""; string[] src = srcText.Split(';'); for (int i = 0; i < src.Length; i++) { if (src[i].Length > 0) { string str = ((char)int.Parse(src[i].Substring(2))).ToString(); dst += str; } } return dst; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。