解决MVC 中HttpStatusCodeResult((int)HttpStatusCode.BadRequest, des) 通过StatusDescription 返回中文乱码
2018-02-01 10:11
696 查看
c#中httpstatuscoderesult语法如下:
在Action中通过
在前端返回的是乱码。
原因:
根据 http 协议,StatusDescription 是写在 http header 中的,默认所有header是用iso-8859-1编码的,但是中文实际是用uft8编码。所以就出现了乱码问题。
解决:
使用转码把UTF8编码转为iso-8859-1编码
附c#转码代码:
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; }
相关文章推荐
- 完美解决由NSURLConnection或者ASIHttpRequest返回的中文乱码问题。
- XMLHttpRequest读取中文网页时返回乱码的解决办法
- SpringMVC中HttpRequestMethodNotSupportedException时返回中文乱码分析解决
- XMLHttpRequest读取中文网页时返回乱码的解决办法
- 通过过滤器(Filter)解决JSP的Post和Request中文乱码问题
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题
- XMLHttpRequest对象解决中文乱码问题
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题
- HttpServletRequest解决中文乱码的问题
- 了解ASP.NET MVC几种ActionResult的本质:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult
- Spring MVC @ResponseBody注解返回响应流时中文乱码问题的解决
- iPhone开发:通过NSURLRequest获得服务器返回的http header和http status
- springmvc StringHttpMessageConverter 中文乱码的几种解决办法
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题
- 解决方法HTTP Status 500 - description The server encountered an internal error () that prevented it from fulfilling this request
- springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
- iPhone开发:通过NSURLRequest获得服务器返回的http header和http status
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题