2010年2月17日

FreeBSD 的 UTF-8 環境

http://blog.tshes.tcc.edu.tw/post/1/681
目前的環境是 FreeBSD 7.X,被 FreeBSD 的 big5 中文問題困擾很久了,因此下定決心要把環境全部換成 UTF-8。 
1. /etc/rc.conf
要啟動 sshd,先在 /etc/rc.conf 中做設定:
sshd_enable="YES"
然後執行
# /etc/rc.d/sshd restart
rc.conf 必須先有 sshd_enable="YES" 的設定,sshd 才能真的啟動。
如果只是想單純啟動sshd的話,可以不管  rc.conf 有無設定,直接啟動 sshd
# /etc/rc.d/sshd onerestart
利用:
#/etc/rc.d/sshd rcvar
這用來檢查 rc.conf 中關於 sshd 的設定,以及sshd有無啟動,大部分其它的 daemons的啟動方法,也是利用這種方式。
2. /etc/csh.cshrc
再來,要在login shell中加入UTF-8的設定:
習慣用 tcsh/csh,修改~/.cshrc,改所有 user 的設定 /etc/csh.cshrc
加入:
setenv LC_ALL zh_TW.UTF-8 
client 端方面,修改PieTTY中的UTF-8設定:
選項→字元編碼→Taiwan Big5 CP950,改為Unicode UTF-8
系統文字編輯器方面,則是利用 ports 安裝 vim 以替代系統原先的 vi,
%cd /usr/ports/editors/vim 
%make install 
client 端方面,如果是用 putty 來遠端登入的話,要改設定為
Windows→Translation→charset, 改為UTF-8
Windows→Appreance→FontSettings, 改成有big5的字體
用 pietty 就比較簡單了,改
選項→字元編碼→Unicode UTF-8
利用 ports 安裝 convmv ,準備將 big5 中文檔名轉成 utf-8
cd /usr/ports/converters/convmv make install clean;rehash
把所有使用者的檔案,全轉成 UTF-8,使用法
convmv -f big5 -t utf-8 -r --notest [檔名 or 目錄名]

檔案內容編碼用 iconv 轉

iconv -f big5 -t utf-8 檔名 > 檔名

重新安裝 pure-ftpd 讓其支援 UTF-8 support for file names (RFC 2640),重新 make config,將 UTF-8 選項打勾,

編完後編輯 /usr/local/etc/pure- ftpd.conf,加上
FileSystemCharset utf-8
ClientCharset big5


將所有使用者的檔案預設字集,由 big5 改成 utf-8,如此,透過 OpenWebMail 來使用網路硬碟,才不會有中文亂碼的問題。
/usr/local/www/cgi-bin/openwebmail/misc/tools/rc/fixrc.pl fscharset=big5 fscharset=utf-8 
這樣一來就完成 FreeBSD 的 UTF-8 。
更新過程中,發現新版本的 samba 3 已經將密碼檔預設的存放位置改到 /usr/local/etc/samba 了,
因此只要將原來的密碼檔,從 /usr/local/private 移過來即可。
參考資料:
FreeBSD Handbook:Using rc under FreeBSD         
兔耳八克斯:FreeBSD遠 端Console設定UTF-8環境
Tsung's Blog:gvim 編UTF-8的文件

沒有留言:

發佈留言