還是有小問題。記得在某個部落看過相關文章,不過連結沒有收藏起來。作者:ps
總之,不是說使用 Unicode 就天下太平了。統一碼只是基礎、開端。一些傳統的程式撰寫觀念,可能也要因此改變,不然 Unicode 只是虛有其表,無法實踐其主要精神。
而且這個問題討論到最後,勢必還會演變成作業系統的戰爭。
還是有小問題。記得在某個部落看過相關文章,不過連結沒有收藏起來。作者:ps
總之,不是說使用 Unicode 就天下太平了。統一碼只是基礎、開端。一些傳統的程式撰寫觀念,可能也要因此改變,不然 Unicode 只是虛有其表,無法實踐其主要精神。
而且這個問題討論到最後,勢必還會演變成作業系統的戰爭。
要看發行版本而定作者:ps
Fedora Core 1,2,3,4 (全系列),預設是支援 utf-8 的
而像 RedHat 9,預設只有支援 Big5
語系的支援,是來自核心的支援
換句話說,假如發行版本不支援某個語系
要讓它支援,必須重新編譯核心
所以如果 Linux 如果要玩 utf-8,建議直接用 Fedora,省的麻煩
Linux 是一套多國語言的作業系統
它所謂的支援什麼語系,其實是從 i18n 設定檔去控制的
你高興讓它支援什麼語系,就能支援什麼語系
/etc/sysconfig/i18n
例如改成:zh_TW.Big5語法:LANG="zh_TW.Big5" SUPPORTED="zh_TW.UTF-8:zh_TW:zh" SYSFONT="latarcyrheb-sun16"
就是讓 Linux 預設支援 Big5
MS 和 Linux 的UTF-8 相容性問題,可以從幾方面來講:
首先,UTF-8是一種標準
並沒有分,是 M$的 UTF-8 ,還是 Linux 的 UTF-8
這兩者是一樣的東西
相容性問題,主要來自應用上會發生什麼樣的困擾
1.
windows 只有 2000/xp/2003 支援 utf-8
win 9x/ME 是不支援 utf-8 的
這個最主要的影響是 samba
如果 samba 設定 utf-8,client端就不能用 win9x
2.
Linux 和 windows 的檔案交換途徑
主要有 samba 和 scp 兩種
samba 是無視兩端語系的
因為它會自動轉換語系,所以比較沒問題
在 samba 3.0以上版本
smb.conf
這樣就是選擇讓 samba 支援 Big5語法:display charset = Big5 dos charset = Big5 unix charset = Big5
反之如果填 utf8,或省略不填,就是支援 utf-8
有一點要注意的是
samba 所謂的支援 Big5,或 utf-8
是指存檔時,檔名要用 Big5 還是 utf-8
而不是指檔案的內文
samba 的語系自動轉換,只會去改檔名的編碼,不會去竄改檔案內容
winscp ,或 scp , sftp 之類的軟體,就比較頭痛了
scp ,sftp 是 ssh 協定傳檔案用的
putty 都支援 utf-8 了,但 winscp 不支援 utf-8
若用 winscp 去查 Linux 上面的 utf-8 檔名,會看到亂碼
不過這不是作業系統的問題,而是應用程式本身的問題
其實現在 utf-8 的問題,都不是作業系統的關係
應用軟體佔比較大的要素
應用軟體不能支援 utf-8,即使作業系統支援,那也沒用...
不錯的參考資料,zh_TW.UTF-8 的 WIKI:
http://wiki.gentoo.org.tw/index.php/Zh_TW.Big5
至於網頁的話,其實現在瀏覽器都支援 utf-8 了
使用上沒有什麼問題
比較大的問題是
你要如何知道現在編輯的網頁,是 utf-8 還是 Big5 的
utf-8 或 big5 ,只是編碼的不同
實際上畫面上看到的,都是中文字,從畫面上根本就看不出來
這就要善用編輯軟體了
一個好的編輯軟體
能讓你清楚了解目前內文是 utf-8 編碼,還是 big5 的編碼
也可以很方便的轉換編碼格式
比方說以 Dreamweaver MX 2004 來講
雖然它可以預設版面為 utf-8 編碼
但很離譜的是,你 key 進去的字,居然還是 big5 編碼
所以 Dreamweaver 並不是一套好的 utf-8 編輯軟體
它適合用來排版,但不適合用來編輯文字
推薦一個免費的文字編輯器,蠻好用的,有中文化
Notepad ++:
http://notepad-plus.sourceforge.net/uk/about.php
一個古早的東西,當然不會想到未來的發展,竟會如此神速。
希望中文軟體業界,能夠有突破性的規格制定出來,解決目前
的衝碼問題。可是電腦這種東西,原本就是用英文思維發展的,
很多軟體也都是先有英文,再出中文。
想突破,還真是有好長的路要走。
========================================
用智慧處理事情,用慈悲對待他人。(節錄 聖嚴法師與人文對話一書內容)
找到網址了,應該是這篇。
琥珀說的小問題,其實是指 Byte Order Mark。有些程式不會加入 BOM,而微軟的程式,例如記事本,保存為 UTF-8 文檔時會加上 BOM。
感謝琥珀作者:琥珀
關於BOM的問題,事實上應該是那些無法判別BOM程式的問題,因為BOM是UNICODE的規定,以分辨文件是用何種方式編碼,要SUPPORT UNICODE就應該能讀BOM。
linux的SHELL和APACHE無法判讀BOM是因為沒有跟著UNICODE的出現而正確的更新,而LINUX中的 VIM,PHP等則因為有跟著UNICODE的規範而正確的更新所以可以正常判別BOM
下面有幾篇文章讓人更了解這些問題,歡迎大家一起來討論
談談Unicode編碼,簡要解釋UCS、UTF、BMP、BOM等名詞
Forms of Unicode
用那一種語系與 kernel 沒什麼關係, 也不用重編 kernel.作者:linux_xp
與 GNU C library 有關. 基本上重建一下 locale 就可以加入你要的語系.
winscp 自從 3.7.1 (好像), 就有支援 UTF-8. 只不過要 server 的 sshd 版本要支援 protocol 4 以上才會啟用 UTF-8.作者:linux_xp
我之前改了一個強迫使用 UTF-8 的 patch 給作者, 在最新的 beta 版本 (3.7.5 beta) 己經有包含這個功能.
書籤