【问题标题】:Uri Class doesn't convert correctly the special charUri 类不能正确转换特殊字符
【发布时间】:2016-12-27 10:34:36
【问题描述】:

我正在使用 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

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

【问题讨论】:

  • %C3%A9 是十六进制,因此您可以将字符转换为十六进制。

标签: c# url encoding xamarin.forms


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-19
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多