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

Posted

技术标签:

【中文标题】如何在 Pod 和 perldoc 中使用 Unicode 字符?【英文标题】:How do I use Unicode characters in Pod and perldoc? 【发布时间】:2010-09-17 11:55:50 【问题描述】:

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

这是一个使用德语变音符号“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)

【问题讨论】:

什么奇怪的字符?问号?盒子?奇怪的 ANSI 格式代码? 【参考方案1】:

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

【讨论】:

这个答案似乎是正确的。谢谢。我在“perldoc perlpod”中找到了更多详细信息。 该文档指示“=encoding utf8”而不是“=encoding utf-8”。但是在 Ubuntu 上使用 5.18 似乎没有必要,在 Mac OS X 10.10.4 上的 5.16 中似乎两者都不起作用。【参考方案2】:

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

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

【讨论】:

【参考方案3】:

perldoc -t MyMod.pm

来自 perldoc 手册:

-t 使用 pod2text 代替 Pod::Man 和 groff 显示 pod(-t 是 win32 上的默认值,除非指定了 -n)

【讨论】:

以上是关于如何在 Pod 和 perldoc 中使用 Unicode 字符?的主要内容,如果未能解决你的问题,请参考以下文章

perldoc perlxxx 选项是啥?

如何在 kubernetes 中使用 yaml 文件删除和重新创建 pod

uniapp如何实现微信登录

uniapp如何实现微信登录

uniapp如何实现微信登录

如何在 Perl POD 派生的手册页中使用 Unicode 字符?