Назад | Перейти на главную страницу

как модифицировать последовательность байтов Unicode для многобайтового символа дефиса

У нас есть случай, когда некоторые файлы Adobe pdf форматируют символ дефиса как% E2% 80% 90. Видеть http://forums.adobe.com/message/2807241 Я думаю, это вызвано шрифтом Calibri.

Итак, эти файлы pdf были выпущены, и ссылки не работают. Я подумал, что переписывание модов придет на помощь.

Я подписался на этот пост здесь mod_ReWrite, чтобы удалить часть URL но я не могу искать символы% в соответствии с этим вопросом.

Что еще я могу сделать?

Вот правило перезаписи, которое я хочу использовать:

RewriteRule ^foo%(.+)bar  /foo-bar [L,R=301]

Я тоже пробовал это, и это не работает

RewriteRule ^foo%E2%80%90bar  /foo-bar [L,R=301]

Любые идеи?

Из документы:

... он применяется к (% -декодированному) URL-пути запроса ...

Поэтому используйте вместо этого фактический символ в файле в кодировке UTF-8.

Используя ответ от этот вопрос, Я смог придумать это .htaccess Правило, которое исправило мою собственную проблему unicode-hyphen-links-in-pdfs:

# for janky pdfs with links using unicode hyphens
RewriteRule ^([^_]*)\x25E2\x2580\x2590([^_]*_.*) $1-$2 [N]
RewriteRule ^([^_]*)\x25E2\x2580\x2590([^_]*)$ /$1-$2 [L,R=301]