Как сделать URL-кодирование символов ASCII?

Я использую Ruby для извлечения URL-адреса файла для его загрузки и загрузки. Имя файла содержит символы utf8, например:

www.domain.com/.../ÖÇÄÜ360ÓïÒôÖúÀí.txt

При попытке загрузить указанный выше URL происходит сбой. Использование URI::escapeсоздает URI, который также не работает:

www.domain.com/.../%C3%96%C3%87%C3%84%C3%9C360%C3%93%C3%AF%C3%92%C3%B4%C3%96%C3%BA%C3%80%C3%AD.txt

Но если я следую URL Encoding Reference, он работает:

www.domain.com/.../%D6%C7%C4%DC360%D3%EF%D2%F4%D6%FA%C0%ED.txt

Я пытался найти функция в Ruby, которая делает точно такое же кодирование, но я не смог найти ни одной. Прежде чем я попытаюсь написать функцию, реализующую таблицу по ссылке выше, я хочу спросить, знает ли кто-нибудь какую-нибудь существующую библиотеку, которая делает это. И если я решу это сделать, то какой диапазон символов я должен кодировать, очевидно, не все.

Я использую JRuby 1.6.2 с RUBY_VERSION => "1.8.7"

7
задан the Tin Man 10 May 2012 в 23:02
поделиться