2

我对 JavaScript 和 C# 之间的编码有疑问。我正在像这样在 JavaScript 中创建一个 url:

window.location.href = 'url/home/projects/ProjectName/Schockville-Attert - Rue des Blés';

在内部,此 URL 被重写为以下内容:

'url/home/projects/ProjectNameSchockville-Attert%20-%20Rue%20des%20Bl%C3%A9s'

那是编码的网址,这是正确的。

现在我想使用 C# 的 Request 从 url 中获取参数,如下所示:

Request["ProjectName"]

但 ProjectName 返回我:

Schockville-Attert - Rue des Blés

当我查看我的请求属性时,我发现我的 %C3%A9 已变为 %u00c3 %u00a9。我在互联网上搜索,发现这是一个编码问题。这是拉丁格式,它必须是 UTF-8 格式。

我已经尝试过: encodeURIComponent,ü,ç,İ,ı,ğ,ö 的问题

我试图取消我的字符串,但这也不起作用。试图将我的字符串编码为 UTF-8 并且没有用。

有人可以帮助我吗?

4

1 回答 1

1

该字符串以Encoding.Default的形式出现,请尝试以下代码:

byte[] utf8Bytes = System.Text.Encoding.Default.GetBytes(myString);
myString = System.Text.Encoding.UTF8.GetString(utf8Bytes);
于 2015-01-30T19:14:34.187 回答