Неверная кодировка файла после Dist::Zilla

Как я могу заставить моджибаке пройти? это может быть ошибка в плагине для участников. Персонаж не отображается правильно в perldoc, но в моем vim и в извлеченном журнале git.

#   Failed test 'Mojibake test for blib/lib/Pod/Spell.pm'
#   at /home/xenoterracide/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/Test/Mojibake.pm line 168.
# Non-UTF-8 unexpected in blib/lib/Pod/Spell.pm, line 431 (POD)

вот фрагмент из источника, который вероятно, следует смотреть непосредственно из-за того, что копирование-вставка может не выявить проблему с кодировкой.

=item *

Olivier Mengué <[email protected]>

=back

Еще немного изучения vim показывает, что :set filencoding заменяется на latin1, редактирование файла в vim, похоже, исправляет это, но, поскольку файл создается, как я могу сгенерировать его с правильной кодировкой?


person xenoterracide    schedule 18.10.2013    source источник
comment
У вас есть строка =encoding utf8 в вашем POD?   -  person friedo    schedule 18.10.2013
comment
@friedo yes (по какой-то причине подпадает под полную ссылку на источник), похоже, проблема напрямую связана с github.com/rjbs/Dist-Zilla/issues/212   -  person xenoterracide    schedule 18.10.2013


Ответы (1)


Короткий ответ: Dist::Zilla еще не очищена от utf-8 (подробнее читайте здесь — https://github.com/rjbs/Dist-Zilla/issues/212). Длинный ответ зависит от того, какие плагины вы используете и в какой конфигурации, поскольку часто можно заставить ваш дистрибутив работать правильно, даже если ядро ​​работает неправильно.

Я бы посоветовал пока изменить кодировку вашего модуля на ISO-8859-1, так как это, вероятно, форма, которую символы принимают в выходном файле.

То есть в вашем weaver.ini:

[-Encoding]
encoding = ISO-8859-1

Если это не поможет (вполне возможно, что в вашем файле .pm отображаются оба символы utf8 и latin1), вам придется пока удалить [Test::Mojibake].

RJBS говорит, что это должно быть исправлено в Dist::Zilla версии 5

Если у вас weaver.ini не по умолчанию, после обновления до Dist::Zilla 5 и Pod::Weaver 4 вам нужно будет добавить следующее в weaver.ini, чтобы добавить =encoding utf8

[-SingleEncoding]
person Ether    schedule 18.10.2013