Правильная рендеринг апострофов в perldoc

Я не могу понять, как правильно отображать апострофы в моей документации Perl. Например, текст 'test' отображается как âtestâ.

  • E<39> also renders as â
    • also I<'>
    • также S<'>
    • также E<apos>
  • C<'> отображается как "'" (очевидно, проблема не в терминале)
  • F<'> отображается как подчеркнутое â

Я также пробовал запускать perldoc с -T, -n nroff и -n troff, но ничего не изменилось. Запуск с -t устранил проблему апострофа, но также убил все остальные атрибуты текста.

Я терплю это некоторое время, но меня это действительно начинает раздражать. Как мне сделать так, чтобы они отображались правильно?


person Brad Mace    schedule 11.08.2013    source источник
comment
Проблема в том, что perldoc основан на nroff, и эти символы не отображаются сами на себя. В nroff вы можете использовать \ в качестве замены для получения этих символов. См. некорректный рендеринг perldoc   -  person hwnd    schedule 12.08.2013


Ответы (3)


отчет об ошибке @ hwnd привел меня к переменной среды LANG. Изменив его с en_US.UTF-8 на en_US, я могу добиться правильного отображения perldocs. Не уверен, что это вызовет проблемы в другом месте, но пока я ни с чем не сталкивался.

person Brad Mace    schedule 12.08.2013
comment
Это то, чем я в конечном итоге занимался. Как указано в другом месте, проблема заключается в несоответствии в кодировке определенных символов и различных программ, которые perldoc использует для форматирования и рендеринга модуля. - person Phil DD; 19.11.2015

Обновите Pod :: Perldoc и используйте -o term бэкэнд.

person daxim    schedule 18.08.2013

не могу сказать, что знаю много об этой проблеме, но в прошлом у меня работало это, когда символы отображались некорректно:

binmode(STDOUT, "utf-8");

person Jarett Lloyd    schedule 01.09.2015