Я пытаюсь реализовать некоторую URI-кодировку имен файлов в моих URL-адресах, но испытываю некоторые странные проблемы с uri_escape и uri_escape_utf8, где, по-видимому, они ведут себя непоследовательно.1003 *
richard@magic-box:$ perl
use URI::Escape;
print uri_escape_utf8("\"quotes\"_in_a_filename.pdf");
%22quotes%22_in_a_filename.pdf
Отлично, именно то, что я хочу.Тогда в моем коде:
print STDERR uri_escape_utf8("\"quotes\"_in_a_filename.pdf");
print STDERR uri_escape("\"quotes\"_in_a_filename.pdf");
Это приводит к тому, что файл журнала моего приложения получает следующие строки:
"quotes"_in_a_filename.pdf
"quotes"_in_a_filename.pdf
Как ни странно, тот же самый фрагмент кода в приложении прекрасно работает с именами файловс пробелами и (например) правильно выводит:
my%20pdf%20with%20spaces.pdf
Я несколько озадачен, и не знаю, где искать решения.Любая помощь с благодарностью.
Ура,
R