Расшифровка URL не работает должным образом

Мой браузер показывает URL с именем файла как

 http://www.example.com/pdf/204177_20090604_Chloorhexidine_DCB_oogdruppels_0%2C1%25.pdf

Фактическое имя файла: 204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf

После urldecode он дает неправильное имя файла как http://www.example.com/pdf/204177_20090604_Chloorhexidine_DCB_oogdruppels_0,1%.pdf

Обновление :

Первоначально я думал, что его проблема с URL-расшифровкой, но такие файлы, как имя 204153_20090605_Aluminiumacetotartraat_DCB_oordruppels_1,2%.pdf а рендеринг в браузере – это 204153_20090605_Aluminiumacetotartraat_DCB_oordruppels_1,2%.pdf запрос. Я использую каркас Kohana 3. Связано ли это с сервером?

 $url = 'http://204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf'; $encode = urlencode($url); $decode = urldecode($encode); echo $url."<br />"; echo $encode."<br />"; echo $decode."<br />"; // outputs http://204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf http%3A%2F%2F204160_20090604_Atropine_DCB_oogdruppels_0%2C5%25.pdf http://204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf 

Все в порядке. Вы ошибаетесь в другом месте.

Вы просматриваете два разных файла.

Невозможно urlencode 204160_20090604_Atropine_DCB_oogdruppels_ в 204177_20090604_Chloorhexidine_DCB_oogdruppels_ , кодировка не изменяет алфавитные символы.

Скорее всего, ошибка в коде, который создает список файлов и выводит ссылки; сопоставление между названиями каналов и именами файлов, похоже, перепутано.

это даст вам точное имя файла m, используя c #

Server.UrlDecode ( "http://www.example.com/pdf/204160_20090604_Atropine_DCB_oogdruppels_0,5%25.pdf&quot😉

, (запятая) кодируется как% 2c% (процентов) кодируется как% 25 браузерами

если вы используете Request.Url он будет декодироваться (запятая), но не% (в процентах)

Таким образом, Server.UrlDecode («xyz») декодирует все символы, кроме% (процентов), то есть y «% 25» в указанном выше имени файла