JavaScript到c# UTF-8编码问题

JavaScript to C# UTF-8 encoding issue

本文关键字:编码 问题 UTF-8 JavaScript      更新时间:2023-09-26

我有一个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'

这是编码后的url,这是正确的。

现在我想用c#的请求从url中获取参数,如下所示:

Request["ProjectName"]

但是ProjectName返回me:

Schockville-Attert - Rue des Blés

当我查看我的Request属性时,我看到我的%C3%A9变成了%u00c3 %u00a9。我上网搜索,发现这是一个编码问题。这是拉丁格式,必须是UTF-8格式。

我已经试过了:encodeURIComponent,麻烦& # 252;& # 231;İ,ı,ğ,& # 246;

我的朋友不转义我的字符串,但这不会工作。试图将我的字符串编码为UTF-8,但不工作。

有人能帮我吗?

字符串以Encoding的形式进入。默认,尝试下面的代码:

byte[] utf8Bytes = System.Text.Encoding.Default.GetBytes(myString);
myString = System.Text.Encoding.UTF8.GetString(utf8Bytes);