Было много символов с более высокими значениями Code Points, которым требуется% 25 для анализа прямо в PHP.
Ex. å =% C3% E5 в кодировке .NET
но должно быть:
% 25C3% 25E5
Итак, я сделал функцию для исправления этого, она не завершена для повторного использования, но будет, если все остальные коды будут добавлены.
var urlCodes = new [] { "20", "C3", "84", "85", "96", "A4", "A5", "B6", "2C", "C2", "A0", "2F", "40", "3A" };
foreach (var stringsUrlCodes in urlCodes)
{
encodedUrl = encodedUrl.Replace("%" + stringsUrlCodes.ToString(), "%25" + stringsUrlCodes.ToString().Replace("%", string.Empty));
}