Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 System.Web.HttpUtility.UrlEncode方法使用不同的语言值给出错误的结果_Asp.net Mvc 4_C# 4.0 - Fatal编程技术网

Asp.net mvc 4 System.Web.HttpUtility.UrlEncode方法使用不同的语言值给出错误的结果

Asp.net mvc 4 System.Web.HttpUtility.UrlEncode方法使用不同的语言值给出错误的结果,asp.net-mvc-4,c#-4.0,Asp.net Mvc 4,C# 4.0,我的项目中的Web.HttpUtility.UrlEncode方法。当我用英语编码名字时,我得到了正确的结果。比如说, string temp = System.Web.HttpUtility.UrlEncode("Jewelry"); 然后我得到了temp变量的精确结果。但若我用俄语写名字,那个么我得到的结果就不同了 string temp = System.Web.HttpUtility.UrlEncode("ювелирные изделия"); 然后我得到了温度变量中的值,比如%

我的项目中的Web.HttpUtility.UrlEncode方法。当我用英语编码名字时,我得到了正确的结果。比如说,

string temp = System.Web.HttpUtility.UrlEncode("Jewelry");
然后我得到了temp变量的精确结果。但若我用俄语写名字,那个么我得到的结果就不同了

string temp = System.Web.HttpUtility.UrlEncode("ювелирные изделия"); 
然后我得到了温度变量中的值,比如%d1%8e%d0%b2%d0%b5%d0%bb%d0%b8%d1%80%d0%bd%d1%8b%d0%b5+%d0%b8%d0%b7%d0%b4%d0%b5%d0%bb%d0%b8%d1%8f

有人能帮我如何按照语言准确命名吗


谢谢大家!

事实上,这种方法为您做了正确的事情

它对非ASCII字符进行编码,以便在所有情况下都有效,并通过互联网传输。若您将temp变量作为参数放入URL中,您将在服务器端得到正确的结果。这就是UrlEncode的含义。在这里,你的问题根本不是问题。 因此,为了进一步了解URL编码,请查看此链接:

如果将该俄语单词输入到我给出的页面中的URL编码函数部分,它将返回与Web.HttpUtility.UrlEncode方法相同的结果

有人能帮我如何按照语言准确命名吗

简而言之:不是用那种方法,但它可能取决于你的确切目标

详情如下:

通常情况下,see定义的URI可能包含以下任何字符:ABCDEFGHIjklmnopqrstuvxyzabCDEFGHIjklmnopqrstuvxyzo123456789-.~:/?[]@!$&'*+,;=。任何其他字符都需要使用百分比编码%hh进行编码

这就是为什么要生产

根据RFC 3986,URL中不允许包含字符的字符串

今天,在URL中可能没有必要使用UrlEncode。见示例:

UrlEncode("Jewelry") -> "Jewelry"
UrlEncode("ювелирные изделия") -> "%d1%8e%d0%b2%d0%b5%d0%bb%d0%b8%d1%80%d0%bd%d1%8b%d0%b5+%d0%b8%d0%b7%d0%b4%d0%b5%d0%bb%d0%b8%d1%8f"