📄 chinese-howto-9.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7"> <TITLE>Linux Chinese HOWTO 中文版: 其它软体的中文相关问题</TITLE> <LINK HREF="Chinese-HOWTO-10.html" REL=next> <LINK HREF="Chinese-HOWTO-8.html" REL=previous> <LINK HREF="Chinese-HOWTO.html#toc9" REL=contents></HEAD><BODY><A HREF="Chinese-HOWTO-10.html">Next</A><A HREF="Chinese-HOWTO-8.html">Previous</A><A HREF="Chinese-HOWTO.html#toc9">Contents</A><HR><H2><A NAME="other"></A> <A NAME="s9">9. 其它软体的中文相关问题</A></H2><H2><A NAME="netscape"></A> <A NAME="ss9.1">9.1 Netscape Navigator</A></H2><P>有许多网页都讨论这个问题。Netscape (2.0 版以後) 同时支援 BIG5 及 GB 编码。要在 Netscape 下显示中文有三个步骤:<OL><LI>安装 X 的中文字型。请参考<A HREF="Chinese-HOWTO-5.html#xfont">安装中文字型</A> 一节。</LI><LI>执行 <CODE>netscape</CODE>,将 <CODE>Document Encoding</CODE> 设定为 <CODE>Tranditional Chinese (Big5)</CODE> 或 <CODE>Simplified Chinese</CODE>.<UL><LI>在 Netscape 2.x, 3.x 中,这在 <CODE>Options/Document Encoding/...</CODE> 中设定。</LI><LI>在 Netscape Communicator 4.x 中,在 <CODE>View/Encoding/...</CODE> 中设定。</LI></UL></LI><LI>选择你要使用的中文字型。<UL><LI>在 Netscape 2.x, 3.x 中,由 <CODE>Options/General Preferences/Fonts</CODE> 设定。</LI><LI>在 Netscape Communicator 4.x 中,则在 <CODE>Edit/Preferences.../Appearance/Fonts</CODE> 里设定。</LI></UL></LI></OL>或许你会奇怪为何你只能使用 <CODE>Fixed(HKU) Size 16.0</CODE>。这是因为 <CODE>/usr/X11R6/lib/X11/app-defaults/Netscape</CODE> 的设定。假设你有下列这些 BIG5 字型<BLOCKQUOTE><CODE><PRE># xlsfonts | grep big5-hku-fixed-medium-r-normal--0-0-72-72-c-0-big5.hku-0-hku-fixed-medium-r-normal--16-160-72-72-c-160-big5.hku-0-kc-kai-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1-kc-kai-medium-r-normal-fantizi-20-200-75-75-c-200-big5.eten.3.10-1-kc-kai-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1-kc-ming-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1-kc-ming-medium-r-normal-fantizi-15-150-75-75-c-160-big5.eten.3.10-1-kc-ming-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1</PRE></CODE></BLOCKQUOTE>在 <CODE>/usr/X11R6/lib/X11/app-defaults/Netscape</CODE> 上加一行<BLOCKQUOTE><CODE><PRE>*documentFonts.charset*big5.eten.3.10-1: x-x-big5</PRE></CODE></BLOCKQUOTE>如此 Netscape 就能够使用这些字型了。<P>另一个解决的方法是为你的字型名称加上别名(alias): 在你的字型目录下的 <CODE>fonts.alias</CODE> 档案中加(如果没有这个档案就自己建)<BLOCKQUOTE><CODE><PRE>-big5-taipeik-medium-r-normal--16-160-72-72-c-160-big5.hku-1 taipei16-big5-taipeik-medium-r-normal--20-200-72-72-c-200-big5.hku-1 taipeik20-big5-taipeik-medium-r-normal--24-240-72-72-c-240-big5.hku-1 taipeik24</PRE></CODE></BLOCKQUOTE><P>其中 <CODE>taipeik20</CODE> 等你是要为它取别名的字型名称。修改过要後用<BLOCKQUOTE><CODE><PRE># xset fp rehash</PRE></CODE></BLOCKQUOTE>重新载入字型名称才会生效。<P>你可能会发现在中英文夹杂的网页里中英文字型的比例并不正确(如英文字太小)。这是因为你的选用的英文字型和中文字型大小并不配合的缘故。回到字型设定中选 Western(iso-8859-1), 然後更改英文字型的大小。调到你认为适当的大小比例即可。<P><H2><A NAME="sendmail"></A> <A NAME="ss9.2">9.2 sendmail</A></H2><P>因为 <CODE>sendmail 8.8.x</CODE> 预设会将所有 8-bit 的信件编码後再送出,这或多或少会对收信人造成一些影响(参见 <A HREF="#procmail">下一小节</A> 的解决方法)。现在大部份的主机都已能直接传送 8-bit 的信件,所以你最好重新编译 <CODE>sendmail</CODE>, 将编码功能关掉。<P><UL><LI>在下面地点(或映射站台)取回最新版本的 <CODE>sendmail</CODE>:<BLOCKQUOTE><A HREF="ftp://ftp.sendmail.org/ucb/src/sendmail/">ftp://ftp.sendmail.org/ucb/src/sendmail/</A></BLOCKQUOTE></LI><LI>解开并更改 <CODE>Makefile</CODE>:<BLOCKQUOTE><CODE><PRE># tar zxvf sendmail-8.8.8.tar.gz# cd src/Makefiles# chmod u+w Makefile.Linux# vi Makefile.Linux</PRE></CODE></BLOCKQUOTE>在 <CODE>CFLAGS+=</CODE> 後加上 <CODE>-DMIME8TO7=0</CODE>.</LI><LI>编译并安装 <CODE>sendmail</CODE>:<BLOCKQUOTE><CODE><PRE># cd ..# ./makesendmail all install</PRE></CODE></BLOCKQUOTE></LI><LI>用手动方式安将 man pages 安装到适当目录(不装也没关系)。</LI><LI>砍掉旧的 <CODE>sendmail</CODE> 行程:<BLOCKQUOTE><CODE><PRE># kill -9 `head -1 /var/run/sendmail.pid`</PRE></CODE></BLOCKQUOTE></LI><LI>重新启动 <CODE>sendmail</CODE>:<BLOCKQUOTE><CODE><PRE># /usr/sbin/sendmail -bd -q1h</PRE></CODE></BLOCKQUOTE></LI></UL><P><H2><A NAME="procmail"></A> <A NAME="ss9.3">9.3 procmail</A></H2><P><CODE>procmail</CODE> 是一个电子邮件过滤器(mail filter). 它可将到的信件在存入你的信箱前先做处理,例如将信件分类等。不过这里要教你的是如何利用 <CODE>procmail</CODE> 来将被编码的中文信件解码成纯文字,以及在不同编码的信件转换为你常用的编码。<P>在你的 home 目录下建立 <CODE>.procmailrc</CODE> 档案,内容如下:<HR><PRE># 在用 procmail 处理前先将信件储存下来,以免发生意外# 你可以设定那些信件不必备份,例如由 MAILER-DAEMON 来的退信:0 c* !^From.*MAILER-DAEMONmail/procmail-backup# 将以 quoted-printable 或 base64 编码的信件解码:0* ^Content-Type: *text/plain{ :0 fbw * ^Content-Transfer-Encoding: *quoted-printable | mimencode -u -q :0 Afhw | formail -I "Content-Transfer-Encoding: 8bit" \ -I "X-Mimed-Autoconverted: quoted-printable to 8bit by procmail" :0 fbw * ^Content-Transfer-Encoding: *base64 | mimencode -u -b :0 Afhw | formail -I "Content-Transfer-Encoding: 8bit" \ -I "X-Mimed-Autoconverted: base64 to 8bit by procmail"}# 这里判断信件是否为 GB 编码,若是则转为 BIG5 编码# 如果你要由 BIG5 转为 GB 码,要将例子中所有的 big5# 及 gb2312 互换,并将 hc -m b2g 改为 hc -m g2b:0* ^Content-Type:.*text/plain;.*charset=gb2312{ :0 fw | hc -m b2g -t /usr/local/lib/chinese/hc.tab :0 Afhw | formail -I "Content-Type: text/plain; charset=big5" \ -I "X-Charset-Autoconverted: gb2312 to big5 by procmail"}# 将信件存回信箱:0:${ORGMAIL}</PRE><HR><P>这个例子中,配合了 <CODE>mimencode</CODE>, <CODE>formail</CODE> 将信件解码,并用 <CODE><A HREF="Chinese-HOWTO-8.html#hc">hc</A></CODE> 将 GB 编码的信件转为 BIG5 编码。所以你还必须安装这些工具。<P>最後再将更改你的 <CODE>.forward</CODE> 档就可以了<BLOCKQUOTE><CODE><PRE>"|IFS=' ' && exec /usr/bin/procmail -f- ~/.procmailrc ||exit 75 name"</PRE></CODE></BLOCKQUOTE><B>注意</B>: 其中最後的 <CODE>name</CODE> 要改为你自己的签入名称(login name).<P><H2><A NAME="telnet"></A> <A NAME="ss9.4">9.4 telnet</A></H2><P>如果你在自己的机器上可以输入中文,但 telnet 到别的机器後却无法输入中文,那麽问题可能出在 <CODE>telnet</CODE> 程式上。当你还在 telnet 连线中时可以按 <CODE>Ctrl-]</CODE> 跳出,在 <CODE>telnet></CODE> 提示符号下输入 <B>set binary</B> 即可。你也可以在连线时用 <CODE>telnet -8</CODE>. (但是在连某些站台时会出问题...?)<P>另一个较简单的办法是直接改用可传输 8-bit 的 <CODE>telnet</CODE> 程式。从下面地点可取得执行档:<BLOCKQUOTE><A HREF="ftp://linux.cis.nctu.edu.tw/packages/chinese/misc/">ftp://linux.cis.nctu.edu.tw/packages/chinese/misc/</A></BLOCKQUOTE><P><H2><A NAME="ss9.5">9.5 less</A></H2><P><CODE>less</CODE> 本身就可直接显示中文了,只要设定下面的环境变数即可:<BLOCKQUOTE><CODE><PRE># export LESSCHARSET=latin1</PRE></CODE></BLOCKQUOTE><P><H2><A NAME="ss9.6">9.6 pine</A></H2><P>Pine 3.95 版以後就可以支援阅读及输入中文信件了。进入 pine 之後选 <CODE>SETUP/Config</CODE>在 <CODE>feature list</CODE> 中勾选(按 <CODE>X</CODE>):<BLOCKQUOTE><CODE><PRE> [X] enable-8bit-esmtp-negotiation [X] enable-8bit-nntp-posting</PRE></CODE></BLOCKQUOTE><P>然後在 <CODE>character-set</CODE> 上按 <CODE>C</CODE>, 将其值改为 big5 或 gb2312. 按 <CODE>E</CODE> 脱离储存即可。<P>你也可以安装能显示中文讯息的 cpine:<BLOCKQUOTE><A HREF="ftp://ftp.vit.edu.tw/unix/linux/chinese/cpine-3.91.bin.tgz">ftp://ftp.vit.edu.tw/unix/linux/chinese/cpine-3.91.bin.tgz</A></BLOCKQUOTE><P><H2><A NAME="ss9.7">9.7 samba</A></H2><P><UL><LI>首先,取回最近版本的 samba-1.9.17p5 以及 big5 修补档。<BLOCKQUOTE><A HREF="ftp://linux.cis.nctu.edu.tw/packages/network/samba/samba-1.9.17p5.tar.gz">ftp://linux.cis.nctu.edu.tw/packages/network/samba/samba-1.9.17p5.tar.gz</A><BR><A HREF="ftp://linux.cis.nctu.edu.tw/packages/chinese/samba-big5-patch/samba-1.9.17p2-BIG5-patch-0.gz">ftp://linux.cis.nctu.edu.tw/packages/chinese/samba-big5-patch/samba-1.9.17p2-BIG5-patch-0.gz</A></BLOCKQUOTE></LI><LI>解开 samba-1.9.17p5.tar.gz, 并加上修补档:<BLOCKQUOTE><CODE><PRE># tar zxvf samba-1.9.17p5.tar.gz# cd samba-1.9.17p5/source# zcat samba-1.9.17p2-BIG5-patch-0.gz | patch -s</PRE></CODE></BLOCKQUOTE></LI><LI>再按照一般正常的程序编译并安装即可。详情请参考 <A HREF="http://samba.anu.edu.au/samba/">Samba 网页</A>。</LI></UL><P><H2><A NAME="ss9.8">9.8 lynx</A></H2><P><A HREF="http://lynx.browser.org/">Lynx</A> v2.7 已经可直接接观看中文的网页了。执行 lynx, 按 <CODE>O)ption</CODE> / <CODE>C)haracter set</CODE>, 按上下键选 <CODE>Taipei(Big5)</CODE>,再按 '>' 存档即可。<P><H2><A NAME="ss9.9">9.9 minicom</A></H2><P>启动 <CODE>minicom</CODE> 时加上 <CODE>-l</CODE> 选项即可显示中文。<P><H2><A NAME="ss9.10">9.10 fingerd</A></H2><P>如果你在你的 <CODE>.plan</CODE> 中使用中文别人却看不到,那可能是因为你的 <CODE>fingerd</CODE> 无法送出 8-bit 的中文字。到下面地点取回 <CODE>cfingerd</CODE>:<BLOCKQUOTE><A HREF="ftp://nctuccca.edu.tw/OS/Linux/packages/network/finger/cfingerd-1.3.2.tar.gz">ftp://nctuccca.edu.tw/OS/Linux/packages/network/finger/cfingerd-1.3.2.tar.gz</A></BLOCKQUOTE><P>解开後,执行 <CODE>./Configure</CODE> 再 <CODE>make all</CODE> 即可。<P>再来修改 <CODE>/etc/inetd.conf</CODE>, 将原来 <CODE>finger</CODE> 的项目改为:<BLOCKQUOTE><CODE><PRE>finger stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.cfingerd</PRE></CODE></BLOCKQUOTE><P>最後让 <CODE>inetd</CODE> 重新读入设定档:<BLOCKQUOTE><CODE><PRE># kill -HUP `cat /var/run/inetd.pid`</PRE></CODE></BLOCKQUOTE><P><H2><A NAME="ss9.11">9.11 tintin++</A></H2><P>TinTin++ 并非中文软体。它只是在你玩中文 mud 时非常的有用。你可在此取得: <BLOCKQUOTE><A HREF="ftp://ftp.princeton.edu/pub/tintin++">ftp://ftp.princeton.edu/pub/tintin++</A></BLOCKQUOTE><P>下面是一些中文 mud 站:<BLOCKQUOTE><CODE><PRE>FengYun fengyun.com 5555Xi You Ji 129.105.79.24 6905Xia ke Xing 207.76.64.2 5555</PRE></CODE></BLOCKQUOTE><P><P><HR><A HREF="Chinese-HOWTO-10.html">Next</A><A HREF="Chinese-HOWTO-8.html">Previous</A><A HREF="Chinese-HOWTO.html#toc9">Contents</A></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -