매뉴얼 페이지의 국가별 문자

매뉴얼 페이지의 국가별 문자

FreeBSD를 사용하여 국가별 문자를 올바르게 표시하려고 합니다.남성. 8.1 및 9.0에서 다음 명령을 실행해 보았습니다.

# PAGER=less LANG="pl_PL.UTF-8" man -d -M. ./man.1
-- Using architecture: i386:i386
-- Using pager: less
-- Using manual sections: 1:1aout:8:2:3:n:4:5:6:7:9:l
-- Using locale paths: pl_PL.UTF-8:pl.UTF-8:en.UTF-8:.
-- Using standard page width
-- Searching for ./man.1
-- Found a usable page, displaying that
-- Command: /usr/bin/zcat -f ./man.1 | tbl | groff -S -P-h -Wall -mtty-char -man -Tascii -P-c | less

하지만 다음과 같이 인쇄됩니다.

프로그래머 조크 시스템 owA przeglAdarkA stron podrAcznika ekranowego.KaA1/4dy Argument...

동일한 맨페이지가 Linux 호스트에 올바르게 표시됩니다.

프로그래머 농담 시스템, przeglądarką stron podręcznika ekranowego. 카즈디의 주장...

지식이 풍부한 사람이 나에게 9.0 맨페이지를 알려줬습니다.것으로 간주된다올바르게 표시하려면. 내가 무엇을 놓치고 있나요?

답변1

LESSCHARSET=utf-8나는 당신이 당신의 환경에 가지고 있는 뭔가를 놓치고 있다고 생각합니다 . 적어도 내 FreeBSD 호스트에서는 이 설정을 사용하여 매뉴얼 페이지를 올바른 방식으로 볼 수 있습니다.

답변2

그 주장은 모호해 -Tascii보인다 groff.

man추가 조사에 따르면 이 매개변수는 MANPATH에서 매뉴얼 페이지가 있는 위치에 따라 설정되는 것으로 보입니다 .

예를 들어 내 시스템에서는 -Tutf8디버그 출력이 나타날 때마다 다음을 사용합니다.

Found manpage /usr/share/man/en.UTF-8/man1/...

하지만 -Tascii사용내역을 표시할 때

Found manpage /usr/share/man/man1/...

man이 경우 매뉴얼 페이지 경로에 로케일 이름이 표시되지 않아 기본값이 ASCII/C 로케일로 설정되어 있다는 것이 문제라고 생각합니다 .

해결 방법으로 다음을 시도해 보십시오.

mkdir -p pl.UTF-8/man1
cp man.1 pl.UTF-8/man
man -d -M. man

관련 정보