我需要在perl文档中使用utf-8字符。 如果我使用:

perldoc MyMod.pm

我看到奇怪的人物。如果我使用:

pod2text MyMod.pm

一切都很好。

我使用的是Ubuntu / Debian。

$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=de_DE.UTF-8

是否有关于在Pod中使用特殊字符的方法?

这是一个使用德语变音符号的小例子“只是一个测试:äöüßÄÖ":

$ perldoc perl/MyMod.pm
<standard input>:72: warning: can't find character with input code 159
<standard input>:72: warning: can't find character with input code 150
MyMod(3)              User Contributed Perl Documentation             MyMod(3)

NAME
        MyMod.pm - Just a Test: äöüÃÃÃ

perl v5.10.0                      2008-10-16                          MyMod(3)
有帮助吗?

解决方案

使用 = encoding utf-8 作为文件中的第一个POD指令,并使用相当新的 perldoc (例如来自5.10-maint)。然后它应该工作。

其他提示

找到这张RT票.... http:// rt .cpan.org /公共/错误/ Display.html?ID = 39000

这个“错误”似乎是在Perl 5.10中引入的,也许这个pod2man --utf8需要使用。

perldoc -t MyMod.pm

来自perldoc手册:

-t使用pod2text而不是Pod :: Man和groff显示pod(除非指定-n,否则-t是win32的默认值)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top