【问题标题】:Wrong file encoding after Dist::ZillaDist::Zilla 之后的文件编码错误
【发布时间】:2013-10-26 18:39:49
【问题描述】:

我怎样才能让 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 的 sn-p,可能应该直接查看,因为复制粘贴可能没有发现编码问题。

=item *

Olivier Mengué <dolmen@cpan.org>

=back

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

【问题讨论】:

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


【解决方案1】:

简短的回答是 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]。 p>

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

如果您有非默认 weaver.ini,在升级到 Dist::Zilla 5 和 Pod::Weaver 4 后,您需要将以下内容添加到您的 weaver.ini 以添加 =encoding utf8

[-SingleEncoding]

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2012-10-12
    • 2019-04-05
    • 2012-05-30
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多