HttpStatusCodeResult返回中文乱码该如何处理
导读:这篇文章给大家介绍了“HttpStatusCodeResult通过StatusDescription返回中文乱码该如何处理”的相关知识,讲解详细,步骤过程清晰,对大家进一步学习和理解HttpStatusCodeResult返回中文乱码该如何...
这篇文章给大家介绍了“HttpStatusCodeResult通过StatusDescription返回中文乱码该如何处理”的相关知识,讲解详细,步骤过程清晰,对大家进一步学习和理解HttpStatusCodeResult返回中文乱码该如何处理”有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。
在 .NET MVC中,有时候需要使用httpstatuscoderesult返回状态描述,那么这个时候就有可能遇到乱码问题,除非你使用英文。其实也挺好解决的,解决MVC 中httpstatuscoderesult 通过StatusDescription 返回中文乱码。
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编码。
////// 转换为ISO_8859_1 /////////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; } ////// 转换为原始字符串 /////////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; }
关于“HttpStatusCodeResult通过StatusDescription返回中文乱码该如何处理”的内容就介绍到这,感谢各位的阅读,相信大家对HttpStatusCodeResult通过StatusDescription返回中文乱码该如何处理已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注网络,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HttpStatusCodeResult返回中文乱码该如何处理
本文地址: https://pptw.com/jishu/654973.html