如何在Pod和perldoc中使用Unicode字符?

时间:2008-10-16 09:08:27

标签: perl unicode documentation internationalization perldoc

我需要在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中使用特殊字符的方法?

这是一个使用德语变音符号的小例子“Just a Test:äöüßÄÖ”:

$ 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)

3 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:6)

找到此RT票.... http://rt.cpan.org/Public/Bug/Display.html?id=39000

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

答案 2 :(得分:0)

perldoc -t MyMod.pm

来自perldoc手册:

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