Uri类没有正确转换特殊字符

本文关键字:转换 特殊字符 Uri | 更新日期: 2023-09-27 18:03:17

我使用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类没有正确转换特殊字符

可以使用Uri.EscapeDataString吗?(我不是c#开发人员,所以我不能验证它)