0

我怎样才能让 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)

这是来自源代码的片段,可能应该直接查看,因为复制粘贴可能没有发现编码问题。

=item *

Olivier Mengué <dolmen@cpan.org>

=back

更多 vim 探索表明:set filencoding正在更改为latin1在 vim 中编辑文件似乎可以解决此问题,但是由于正在生成文件,如何使用正确的编码生成它?

4

1 回答 1

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 说这应该在 Dist::Zilla 版本 5 中修复

如果你有一个 non default weaver.ini,在升级到 Dist::Zilla 5 和 Pod::Weaver 4 后,你需要添加以下内容到你weaver.ini=encoding utf8添加

[-SingleEncoding]
于 2013-10-18T03:52:06.390 回答