?? 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-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=' ' && 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 + -