2013-08-11 2 views
5

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

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

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

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

+4

Проблема в том, что perldoc основана на 'NROFF ', и эти персонажи не отображают самих себя. В nroff вы можете использовать '' \ '' в качестве замены, чтобы получить эти символы. См. [Perldoc renders неправильно] (https://bugzilla.redhat.com/show_bug.cgi?id=431041) – hwnd

ответ

0

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

+0

Это то, что я и сделал. Как указано в другом месте, проблема заключается в расхождении в кодировании определенных символов и различных программах perldoc, используемых для форматирования и рендеринга контейнера. –

0

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

binmode(STDOUT, "utf-8");

Смежные вопросы