分页: 1 / 1
[已解决]7.10里面man乱码了
发表于 : 2007-10-22 16:47
由 bones7456
从7.04升级到7.10,发现man乱码了,以man ls为例,现象如图.另外界面和终端中的文件名均正常.
下面是一些信息:
代码: 全选
lily@LLY:~$ cp /usr/share/man/man1/ls.1.gz .
lily@LLY:~$ gunzip ls.1.gz
lily@LLY:~$ enca ls.1
7bit ASCII characters
lily@LLY:~$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE=zh_CN@pinyin.utf8
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
lily@LLY:~$
发表于 : 2007-10-22 17:10
由 bones7456
恩,有点眉目了,应该和我在7.04时装的man中文包有关系.
man ls时是先去找 /usr/share/man/zh_CN/man1/ls.1
而不是 /usr/share/man/man1/ls.1.gz
sudo mv /usr/share/man/zh_CN/man1/ls.1 /usr/share/man/zh_CN/man1/lsxxx.1 之后man ls可以正常显示英文man.
但是man是怎么觉得先搜索 zh_CN 里面的呢? /etc/manpath.config 里面没有相关信息啊:
代码: 全选
lily@LLY:~$ cat /etc/manpath.config | grep -v '^#.*'
MANDATORY_MANPATH /usr/share/man
MANDATORY_MANPATH /usr/X11R6/man
MANDATORY_MANPATH /usr/local/man
MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /sbin /usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man
MANPATH_MAP /usr/local/bin /usr/local/man
MANPATH_MAP /usr/local/bin /usr/local/share/man
MANPATH_MAP /usr/local/sbin /usr/local/man
MANPATH_MAP /usr/local/sbin /usr/local/share/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
MANPATH_MAP /usr/games /usr/share/man
MANPATH_MAP /opt/bin /opt/man
MANPATH_MAP /opt/sbin /opt/man
MANDB_MAP /usr/man /var/cache/man/fsstnd
MANDB_MAP /usr/share/man /var/cache/man
MANDB_MAP /usr/local/man /var/cache/man/oldlocal
MANDB_MAP /usr/local/share/man /var/cache/man/local
MANDB_MAP /usr/X11R6/man /var/cache/man/X11R6
MANDB_MAP /opt/man /var/cache/man/opt
SECTION 1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7
lily@LLY:~$
发表于 : 2007-10-22 17:13
由 bones7456
另外 man -M /usr/share/man ls 也可以正常显示英文.
发表于 : 2007-10-22 17:24
由 bones7456
已解决.
方法: sudo apt-get install manpages-zh
替换掉原来的 manpages-zh-utf8 ,再 man ls 正常显示中文的帮助.
再一看,manpages-zh里面的文件居然都是 GB2312 编码的?不解了,难道历史在倒退

变态的man。不认utf8
发表于 : 2007-10-23 11:28
由 eexpress
代码: 全选
☎ cat man-zh_CN转换到utf8.bash
#!/bin/bash
cd /usr/share/man/zh_CN/
for k in *
do
cd $k
for i in *.gz
do
# j=`echo $i|awk -F'.gz' '{print $1}'` # 不知道有什么好方法
j=`echo ${i%\.gz}`
gunzip $i
iconv -f utf8 -t gb18030 $j >tmp
mv tmp $j
gzip $j
done
cd ..
done
发表于 : 2007-10-27 16:05
由 fanhe
原来是那个man能直接认gb18030了 8)
发表于 : 2007-10-27 16:17
由 eexpress
是变态的不认utf8了。什么人啊。