c# - Uri 类不能正确转换特殊字符

标签 c# url encoding xamarin.forms

我正在使用 Uri 类通过 PHP 脚本请求数据。在我的例子中,我需要使用包含特殊字符的 URL,例如:é'。这是我的一段代码:

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。在本网站 ( www.degraeve.com/reference/urlencoding.php ) 中,我看到 é 字符确实会转换为 %E9

当我尝试手动使用此编码时:

http://84.75.112.69/getdata.php?aarret=Universit%E9

有效!那么我该如何调整我的代码才能正确转换特殊字符呢?

最佳答案

你可以使用 Uri.EscapeDataString 吗? (我不是 C# 开发人员,所以无法验证)

关于c# - Uri 类不能正确转换特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39053033/

相关文章:

ruby - 在 Heroku 中将 UTF-8 设置为默认字符串编码

java - CQRS 和事件溯源的区别

c# - 路径 '/' 的 Controller 未找到或未实现 IController

java - 在存储之前和从 KeyStore 检索之后,SecretKey 的 Base64 编码值不同

php - php URL 可以有数字参数吗?

url - 谷歌的网址编码?

PHP 将 win-1251 转换为 UTF-8 不起作用

c# - MEF 和序列化

c# - 使用 asp.net core 1.0 的 https 上的 Kestrel

Javascript If 函数检查特定引用域