【问题标题】:Making apostrophes render correctly in perldoc使撇号在 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

标签: perl perldoc


【解决方案1】:

@hwnd 的bug report 将我带到LANG 环境变量。通过将其从 en_US.UTF-8 更改为 en_US 我可以正确显示 perldocs。不确定这是否会在其他地方引起问题,但到目前为止我还没有遇到任何问题。

【讨论】:

  • 这也是我最终所做的。如其他地方所述,问题在于某些字符的编码差异以及 perldoc 用于格式化和呈现 pod 的各种程序。
【解决方案2】:

升级Pod::Perldoc 并使用-o term 后端。

【讨论】:

    【解决方案3】:

    不能说我对这个问题了解很多,但过去当字符显示不正确时,这对我有用:

    binmode(STDOUT, "utf-8");

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 1970-01-01
      • 2019-07-08
      • 2011-06-08
      • 1970-01-01
      • 2015-03-18
      • 2018-05-07
      • 1970-01-01
      • 2014-08-14
      相关资源
      最近更新 更多