使撇号在 perldoc 中正确呈现
Posted
技术标签:
【中文标题】使撇号在 perldoc 中正确呈现【英文标题】:Making apostrophes render correctly in perldoc 【发布时间】:2013-08-13 04:24:28 【问题描述】:我不知道如何在我的 Perl 文档中正确显示撇号。例如,文本'test'
显示为âtestâ
。
E<39>
也呈现为 â
还有I<'>
还有S<'>
还有E<apos>
C<'>
呈现为 "'"
(显然终端不是问题)
F<'>
呈现为下划线 â
我也尝试过运行 perldoc
与 -T
、-n nroff
和 -n troff
,但没有任何区别。使用-t
运行修复了撇号问题,但也会杀死所有其他文本属性。
我已经忍受了一段时间了,但它真的开始让我恼火了。如何让它们正确显示?
【问题讨论】:
问题是perldoc是基于nroff
的,这些字符并没有映射到自己。在 nroff 中,您可以使用 \
作为替换来获取这些字符。见perldoc renders incorrectly
【参考方案1】:
@hwnd 的bug report 将我带到LANG
环境变量。通过将其从 en_US.UTF-8
更改为 en_US
我可以正确显示 perldocs。不确定这是否会在其他地方引起问题,但到目前为止我还没有遇到任何问题。
【讨论】:
这也是我最终所做的。如其他地方所述,问题在于某些字符的编码差异以及 perldoc 用于格式化和呈现 pod 的各种程序。【参考方案2】:升级Pod::Perldoc 并使用-o term
后端。
【讨论】:
【参考方案3】:不能说我对这个问题了解很多,但过去当字符显示不正确时,这对我有用:
binmode(STDOUT, "utf-8");
【讨论】:
以上是关于使撇号在 perldoc 中正确呈现的主要内容,如果未能解决你的问题,请参考以下文章