2013-08-11 15 views
5

Nie wiem, jak poprawnie wyświetlać apostrofy w dokumentacji Perla. Na przykład tekst 'test' jest wyświetlany jako âtestâ.Poprawne renderowanie apostrofów w perldoc

  • E<39> powoduje również â
    • również I<'>
    • również S<'>
    • również E<apos>
  • C<'> tynkach "'" (jak widać terminal nie jest problemem)
  • F<'> renderuje jak podkreślono â

Próbowałem zostały również uruchomione perldoc z -T, -n nroff i -n troff ale nikt się do zmian. Uruchomienie z -t rozwiązało problem z apostrofem, ale także zabija wszystkie inne atrybuty tekstu.

Poddałem się temu przez chwilę, ale to naprawdę zaczyna mnie irytować. Jak mogę je poprawnie wyświetlić?

+4

Problemem jest to, że opiera się na perldoc 'nroff ', a te postacie nie mapują się same. W nroff możesz użyć '' \ '' jako zamiennika, aby uzyskać te znaki. Zobacz [perldoc renderuje niepoprawnie] (https://bugzilla.redhat.com/show_bug.cgi?id=431041) – hwnd

Odpowiedz

0

@ hwnd's bug report doprowadził mnie do zmiennej środowiskowej LANG. Zmieniając go z en_US.UTF-8 na en_US, mogę uzyskać wyświetlanie poprawnie perldocs. Nie jestem pewien, czy spowoduje to problemy gdzie indziej, ale jak dotąd nie natknąłem się na żadne.

+0

Tak też zrobiłem. Jak stwierdzono w innym miejscu, problemem jest rozbieżność w kodowaniu pewnych znaków, a różne programy używają do formatowania i renderowania kapsuły. –

0

nie mogę powiedzieć, że wiem dużo na temat tego problemu, ale ten pracował dla mnie w przeszłości, kiedy znaki nie są wyświetlane prawidłowo:

binmode(STDOUT, "utf-8");