C# Uri类没有';不能正确转换特殊字符
我使用Uri类使用php脚本请求数据。在我的例子中,我需要使用包含特殊字符的URL,如:C# Uri类没有';不能正确转换特殊字符,c#,url,encoding,xamarin.forms,C#,Url,Encoding,Xamarin.forms,我使用Uri类使用php脚本请求数据。在我的例子中,我需要使用包含特殊字符的URL,如:ee或”。以下是我的代码: string NomArret = "Université"; uri = new Uri("http://localhost/getdata.php?aarret=" + NomArret); 但这将返回0个结果。我进行了调试,发现uri将此URL编码为: http://84.75.112.69/getdata.php?aarret=Universit%C3%A9 因此,他
ee
或”
。以下是我的代码:
string NomArret = "Université";
uri = new Uri("http://localhost/getdata.php?aarret=" + NomArret);
但这将返回0个结果。我进行了调试,发现uri将此URL编码为:
http://84.75.112.69/getdata.php?aarret=Universit%C3%A9
因此,他将字符转换为%C3%A9
。在这个网站()中,我看到字符被转换成%E9
当我尝试手动使用此编码时:
http://84.75.112.69/getdata.php?aarret=Universit%E9
它起作用了!那么,如何调整代码以正确转换特殊字符呢?您可以使用Uri.EscapeDataString
?(我不是C#dev,因此无法验证)%C3%A9
是十六进制,因此可以将字符转换为十六进制。这并不能回答问题。一旦你有足够的钱,你将能够;相反事实上,这是一个答案,因为它可以是必需的函数。但正确的答案是“尝试使用URI.EscapeDataString”。对不起,我犯了这个错误:/