url路径传入的中文字符

时间:2022-09-21 07:47:45
 动态调用url地址,参数是中文字符串。

我用的时候是这样 :HttpUtility.UrlEncode(URL)

获取时时这样 :string url= HttpUtility.UrlEncode(Request.QueryString["url"]);


但是  好像在HttpUtility.UrlEncode(URL)这个的时候就没有用 ,生成的路径后面的参数依然是中文。。


不知道各位大大能不能给个解释,以及解决的办法

12 个解决方案

#1


获取时时这样 :string url= HttpUtility.UrlDecode(Request.QueryString["url"]);

#2




//传递 
string Name = "参"; 
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));

//接收 
string Name = Request.QueryString["Name"]; 
Response.Write(Server.UrlDecode(Name));

#3


编码用UrlEncode,解码用UrlDecode。

#4


编码用UrlEncode,解码用UrlDecode。 
这样就行

#5


同意楼上

#6


你写错啦,解码是UrlDecode
我用的时候是这样 :HttpUtility.UrlEncode(URL)

获取时时这样 :string url= HttpUtility.Url Encode(Request.QueryString[=》

我用的时候是这样 :HttpUtility.Url Decode(URL)

获取时时这样 :string url= HttpUtility.UrlEncode(Request.QueryString["url"]);


动态调用url地址,参数是中文字符串。

我用的时候是这样 :Server.UrlEncode(URL)

获取时时这样 :string url= Server.UrlDecode(Request.QueryString["url"]);

#7



笔误   我写的就是“编码用UrlEncode,解码用UrlDecode。  ”这样



现在的问题是  urlEncode 没有起到任何作用...用了之后  中文依然是中文  都没有变的

#8


那你用base64编码

#9


具体点啊,  怎么使用??

#10


Convert.ToBase64String(Encoding.UTF8.GetBytes(URL));编码
Encoding.UTF8.GetString(Convert.FromBase64String(Request.QueryString["url"]));解码

#11


http://tool.chinaz.com/Tools/URLEncode.aspx

看看这个  ;
   


我的意思是想像这样 把 我的中文字符转换成那种编码的形式  然后再进行当成参数传过去...


就是请各位大大 想个办法弄下 转换编码的那种方法

#12


那就自己摸你UrlEncode了

StringBuilder sb = new StringBuilder();
            "我是参数".ToCharArray().Select(x => Encoding.UTF8.GetBytes(x.ToString()).Select(y => y.ToString("x2"))).ToList().ForEach(x => {
                x.ToList().ForEach(y =>
                {
                    sb.Append("%" + y);
                });
            });//sb.ToString()就是编码好的,然后服务器端用Server.UrlDecode()试试呢

#1


获取时时这样 :string url= HttpUtility.UrlDecode(Request.QueryString["url"]);

#2




//传递 
string Name = "参"; 
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));

//接收 
string Name = Request.QueryString["Name"]; 
Response.Write(Server.UrlDecode(Name));

#3


编码用UrlEncode,解码用UrlDecode。

#4


编码用UrlEncode,解码用UrlDecode。 
这样就行

#5


同意楼上

#6


你写错啦,解码是UrlDecode
我用的时候是这样 :HttpUtility.UrlEncode(URL)

获取时时这样 :string url= HttpUtility.Url Encode(Request.QueryString[=》

我用的时候是这样 :HttpUtility.Url Decode(URL)

获取时时这样 :string url= HttpUtility.UrlEncode(Request.QueryString["url"]);


动态调用url地址,参数是中文字符串。

我用的时候是这样 :Server.UrlEncode(URL)

获取时时这样 :string url= Server.UrlDecode(Request.QueryString["url"]);

#7



笔误   我写的就是“编码用UrlEncode,解码用UrlDecode。  ”这样



现在的问题是  urlEncode 没有起到任何作用...用了之后  中文依然是中文  都没有变的

#8


那你用base64编码

#9


具体点啊,  怎么使用??

#10


Convert.ToBase64String(Encoding.UTF8.GetBytes(URL));编码
Encoding.UTF8.GetString(Convert.FromBase64String(Request.QueryString["url"]));解码

#11


http://tool.chinaz.com/Tools/URLEncode.aspx

看看这个  ;
   


我的意思是想像这样 把 我的中文字符转换成那种编码的形式  然后再进行当成参数传过去...


就是请各位大大 想个办法弄下 转换编码的那种方法

#12


那就自己摸你UrlEncode了

StringBuilder sb = new StringBuilder();
            "我是参数".ToCharArray().Select(x => Encoding.UTF8.GetBytes(x.ToString()).Select(y => y.ToString("x2"))).ToList().ForEach(x => {
                x.ToList().ForEach(y =>
                {
                    sb.Append("%" + y);
                });
            });//sb.ToString()就是编码好的,然后服务器端用Server.UrlDecode()试试呢