⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chinese-howto-9.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 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-DAEMON
mail/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=' ' &amp;&amp; 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       5555
Xi You Ji                129.105.79.24     6905
Xia 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 + -