如何在Pod和perldoc中使用Unicode字符?
-
03-07-2019 - |
题
我需要在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的默认值)
不隶属于 StackOverflow