首页后端开发其他后端知识HttpStatusCodeResult返回中文乱码该如何处理

HttpStatusCodeResult返回中文乱码该如何处理

时间2024-03-28 13:36:03发布访客分类其他后端知识浏览1321
导读:这篇文章给大家介绍了“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
HTML中如何设置input标签输入值 HTML中减少文字间距的方法是什么

游客 回复需填写必要信息