manpages-zh 中文帮助文档 乱码问题


我是mac 10.8.2系统
1.下载了manpages-zh-1.5.2.tar.bz2
2.解压
3.到其目录下
4.运行./configure
5.运行make
6.运行make install
安装结束
1.命令行 运行man -w
输出/usr/share/man:/usr/local/share/man:/usr/local/mysql/man
从输出可以看出(有/usr/local/share/man),安装是有效果的;
且/usr/local/share/man下确实多了zh_CN文件夹
2.运行 man -aw ls
输出/usr/share/man/man1/ls.1
并没有发现中文文档,于是
3.修改/etc/man.conf,将/usr/local/share/man改为/usr/local/share/man/zh_CN
4.此时man -w
输出/usr/share/man:/usr/local/share/man/zh_CN:/usr/local/mysql/man
5.再输入命令man -aw ls
输出
/usr/share/man/man1/ls.1
/usr/local/share/man/zh_CN/man1/ls.1
5.大喜!可以发现中文文档了
6.输入命令man -a ls,出现英文文档
7.按q········这时应该是进入中文文档啊,但是········乱码了
乱码的样子大概是这样

aeecoi1/4 DESCRIPTION i1/4                     _  _
       c"aolsaaaoec(R)a1/2caea>>9|ei1i1/4c9|aae ae a,a,ac(R)a1/2a,-
       c"a ae3/4cxo"aea>>9|aa|ae
       ae2iaeeei1a1axcaaeoae ae3"i1/4a3aea>>9|ae"aa,oc(C)oaaocoi1/4c1/4oca,o
       "."             i1/4a1/2ac(R)a1/2i1/4a_            eei1"

请高手指点,这咋解决!
安装文档里说,make命令那里用make u8&&make install-u8,但是我用 make u8报错,于是就用了make&&make install

man

春哥的咆哮 11 years, 10 months ago

mac gnroff版本有bug 本身不吃UTF8, 在Linux的hack是用iconv在nroff中转两次, man内的ls.1 > iconv -f utf8 -t gb18030 | 再用 preconv -e gb18030 | nroff -mandoc -Tutf8 转回来.

$> cat /usr/local/share/man/zh_CN/man1/ls.1 | iconv -f utf8 -t gb18030 | /usr/local/bin/preconv -e GB18030 | /usr/local/bin/nroff -mandoc -Tutf8

上面这个动作不是解法,是告诉你当你的系统己经有新版的gnroff是可以看到中文的man. 你可以下下来自己编,下面才是如何直接用man看中文man的解法:

nroff和preconv都在gnroff的版本内,你可以直接用下面的手编出来 GNU Groff

安装好新版的gnroff后再在/etc/man.conf文作内改加上preconv的使用

NROFF    preconv -e UTF8 | /usr/local/bin/nroff -Tutf8 -mandoc -c

另一种比较方便的是用port

$>port install groff 
man.conf
NROFF           /opt/local/bin/preconv -e utf8| /opt/local/bin/nroff -Tutf8 -mandoc -c

这样是可以出来的

但还有control char的bug ...
Screen-Shot-2012-12-02-at-下午3.26.34.png

Miwako answered 11 years, 10 months ago

Your Answer