Dist :: Zilla之后的文件编码错误

时间:2013-10-18 02:56:22

标签: perl encoding utf-8 pod dist-zilla

我怎样才能让mojibake通过?这可能是贡献者插件中的一个错误。该字符在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)

这是the source的一个片段,由于复制粘贴可能无法解决编码问题,因此应该直接查看。

=item *

Olivier Mengué <dolmen@cpan.org>

=back

更多vim探索显示:set filencoding被更改为latin1在vim中编辑文件似乎解决了这个问题,但是由于文件正在生成,我怎样才能使用正确的编码?

1 个答案:

答案 0 :(得分:4)

简短的回答是,Dist :: Zilla还没有utf-8干净(在这里阅读更多内容 - https://github.com/rjbs/Dist-Zilla/issues/212)。答案很长,取决于你正在使用什么插件,以及在什么配置中,因为通常可能让你的dist出来正确,即使核心做错了。

我建议暂时将您的pod编码更改为ISO-8859-1,因为这可能是字符在输出文件中的形式。

也就是说,在weaver.ini

[-Encoding]
encoding = ISO-8859-1

如果失败(很可能你的.pm文件中出现了两个 utf8和latin1字符),你现在必须删除[Test :: Mojibake]。

RJBS says this should be fixed in Dist::Zilla version 5

如果您有非默认weaver.ini,则在升级到Dist :: Zilla 5和Pod :: Weaver 4之后,您需要将以下内容添加到weaver.ini以{{1添加了

=encoding utf8