2008/05/20

用 Safari 觀看中文網頁

相信很多 Mac 友都是使用 Mac OS X 內置的 Safari 來觀看網頁。但在觀看中文網頁時,你有遇過因為「亂碼」而出現怪獸文字嗎?

兩種編碼方法

因為歷史的原因,繁體中文的編碼方法主要分為兩大類,分別是早期的「Big 5」及近期的「Unicode(UTF-8)」

以「Yahoo! 雅虎香港」的「頭版」為例,它是用「Unicode」來編碼的,所以當你用 Safari 去開啟它,並在「顯示方式」>「文字編碼」選用「Unicode」,你會看到正常顯示的中文內容。



若你選用了錯誤的「文字編碼」(例如「Big 5」)去開啟同一個網頁,你則會看到因為亂碼而出現的怪獸文字。



當你滿心歡喜,以為「Yahoo! 雅虎香港」都是統一用「Unicode」來編碼的時候,在進入「Yahoo! 雅虎香港」的「新聞網頁」時,卻又忽然出現了怪獸文字。



唉!原來「Yahoo! 新聞」並不是用「Unicode」而是用「Big 5」來編碼。



同一個品牌的網頁,也用上幾種不同的編碼方式,作為一般用戶,該如何設定「文字編碼」方式呢?答案是在「文字編碼」中使用「預設值」

自動轉換編碼

原來程式員在編寫網頁時,都要加入一個指示,讓網頁瀏灠器懂得用那一種文字編碼來顯示網頁。透過 Safari 的「顯示方式」>「檢視原始碼」,你可以知道「Yahoo! 頭版」是用「Unicode(UTF-8)」來編碼。



而「Yahoo! 新聞」則是用「Big 5」來編碼。



只要在「文字編碼」中設定為「預設值」(我覺得稱呼為「自動轉換」會更貼切),Safari 就會跟據網頁的指示,自動及正確顯示網頁內容。

「香港字」又怎樣呢?

也是歷史的原因,以「Unicode」來編碼的網頁,因為設計時已包含了「香港字」,一般都可以順利顯示內含「香港字」的網頁;但以「Big 5」來編碼的網頁,因為「Big 5」編碼在設計時沒有考慮「香港字」的因素,所以並不能順利顯示內含「香港字」的網頁。

以很多「香港字」的「Yahoo! 娛樂新聞」為例,當使用「Big 5」編碼來觀看時,你會看到很多「四方格」,這些就是不能正確顯示的「香港字」。



以往你可能會聽過,要到某些網站先下載「香港字」才能閱讀含有「香港字」的網頁。但現在的 Safari 已內置了閱讀「香港字」所需的功能,你只要在「文字編碼」中使用「Big 5 HKSCS」(香港增補字符集 Hong Kong Supplementary Character Set)的編碼方法,就可以順利閱讀含有「香港字」的網頁了。



因為在編寫繁體中文網頁的過程中,一般只有「Big 5」及「Unicode」可供選擇,並沒有「Big 5 HKSCS」的方式,所以當你用「預設值」編碼方式時遇到有少量「四方格」的網頁時,它很大機會就是一個含有「香港字」的「Big 5」網頁,只要人手更改成「Big 5 HKSCS」的編碼方法就可以順利閱讀。

請緊記,為避免 Safari 錯誤利用「Big 5 HKSCS」來解讀其它「Unicode」的網頁,在觀看完「Big 5 HKSCS」網頁後,記得要將「文字編碼」再次設定成「預設值」

「Unicode」的中文名稱是「統一碼」或「萬國碼」,假如將來的網頁都以「Unicode」為標準,我們就不用再為轉換編碼而煩惱,而我也不用再寫這些教學文章了。

4 則留言:

匿名 說...

xanga亂碼又如何辦?轉甚麼encoding都看不到,例如
http://www.xanga.com/littleyauyau

匿名 說...

仲有,係蘋果陣有時見到d標題變成:
「有冇人識整到咁嘅layout」
"&#XXXXX"呢d字點樣可以顯示返出來?

匿名 說...

打錯,係蘋狂陣= ="

Johnny Chan 說...

xanga 的亂碼我也不知如何解決;

至於蘋狂陣的亂碼,我猜是程式不能順利辨認標題中的香港字,也是我們可控制之外的事情。