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
Answers
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 ...