C# 解决httplistener querystring 中文乱码、返回json中文格式乱码
解决 httplistener querystring 中文乱码方案:#
在请求到达时候,获取 Request.Url, 返回 get 请求参数 键值对
public class RequestHelper { public static Dictionary<string, string> EncodeQueryString(Uri uri) { var ret = new Dictionary<string, string>(); var q = uri.Query; if (q.Length > 0) { foreach (var p in q.Substring(1).Split('&')) { var s = p.Split(new char[] { '=' }, 2); ret.Add(HttpUtility.UrlDecode(s[0]), HttpUtility.UrlDecode(s[1])); } } return ret; } }
解决返回 json 中文格式乱码:#
对中午 json 字符串进行编码 HttpUtility.UrlDecode (“中文”);
public class ResponseHelper { public static void Respose(HttpListenerResponse response, string jsonStr = "") { byte[] buffer = Encoding.UTF8.GetBytes(jsonStr); response.ContentLength64 = buffer.Length; response.ContentType = "application/json"; response.ContentEncoding = Encoding.UTF8; response.StatusCode = 200; Stream output = response.OutputStream; output.Write(buffer, 0, buffer.Length); //关闭输出流,释放相应资源 output.Close(); response.Close(); } }
转载于:链接
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: