发布:2023/12/7 15:34:22作者:大数据 来源:大数据 浏览次数:596
因url中存在中文,目前流行的浏览器不存在问题,在极速模式下,如果在兼容模式下由于url中有中文导致后台获取参数值时,显示为乱码,解决办法主要有以下几个:
一、将中文参数重新在数据表中编码进行映射
二、对原有地址栏中的中文进行encode编码
如果对参数拼接时可单独进行编码
1 2 |
string userName=HttpUtility.UrlEncode("张三丰"); string url="userName="+userName+"&year=2020"; |
如果对已经拼接好的参数列表就不能这样操作了。用下面的办法解决:
1 2 |
string urlSource="userName=张三丰&year=2020"; string url=System.Web.HttpUtility.ParseQueryString(urlSource).ToString() |
这样就会只把中文进行转码,而其它的保持原样。
结果:userName=%E5%BC%A0%E4%B8%89%E4%B8%B0&year=2020
具体参考如下:
一、URL说明
.Net Core中http 的常用操作封装在 HttpUtility 中
命名空间
1 |
using System.Web; |
1 2 3 4 5 |
// // 摘要: // Provides methods for encoding and decoding URLs when processing Web requests. // This class cannot be inherited. public sealed class HttpUtility |
二、代码示例
1.URL 编码解码
1 2 3 4 5 |
//URL 编码测试 string result1 = HttpUtility.UrlEncode("张三丰"); Console.WriteLine(result1); // %e5%bc%a0%e4%b8%89%e4%b8%b0 string result2 = HttpUtility.UrlDecode(result1); Console.WriteLine(result2); // 张三丰 |
2.获取URL参数键值对
1 2 3 4 |
string path = "name=zhangsan&age=13"; NameValueCollection values = HttpUtility.ParseQueryString(path); Console.WriteLine(values.Get("name"));// zhangsan Console.WriteLine(values.Get("age")); // 13 |
3.HTML 编码解码
1 2 3 4 5 |
string html = "<h1>张三丰</h1>"; string html1 = HttpUtility.HtmlEncode(html); Console.WriteLine(html1); // <h1>张三丰</h1> string html2 = HttpUtility.HtmlDecode(html1); Console.WriteLine(html2); // <h1>张三丰</h1> |
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4