Я пытаюсь использовать следующую строку perl, как описано здесь: Кто-нибудь знает о плагине или скрипте vim для преобразования специальных символов в соответствующие им объекты HTML? - для кодирования объектов HTML вVim.
%!perl -p -i -e 'BEGIN { use HTML::Entities; use Encode; } $_=Encode::decode_utf8($_) unless Encode::is_utf8($_); $_=Encode::encode("ascii", $_, sub{HTML::Entities::encode_entities(chr shift)});'
Работает нормально (от £ до £, фигурные кавычки и т. Д.), За исключением амперсанда, который сам по себе - & - остался как есть.
У меня естьпопытался удалить декодирование uf8 и посмотрел документацию CPAN для HTML :: Entities.
Ответ:
@ ZyX ответил на исходный вопрос, но, как и другие,Как отмечалось в комментариях, это избыточно, поскольку на самом деле нет необходимости использовать HTML-объекты, если вы обслуживаете страницы с набором символов UTF-8 (как и я, с метатегом -
<meta charset="utf-8">
а также в конфигурации Apache:
AddDefaultCharset utf-8
Действительно, возможно, плохо добавлять их в таких случаях: размер файла больше, а текст запутан, если в любом случае захочется использовать исходный код.
Очень важно, чтобы все редакторы, которые вы используете для создания файлов, записывали их также в UTF-8.