Apostrophe: 還我生存空間

左圖上句的 apostrophe 走樣,相信不少中文 Windows + IE6 的用家都見過1,覺得很醜對吧。然而亦有不少網頁編寫人員,當遇見這個情況時,十之八九是把那個 apostrophe (’) 更改為 single quote (')2,快快解決問題外,心中還暗忖那死人 MS Word 的 smart quote function,好把我鍵入的 single quote 轉為 apostrophe,待我 copy and paste 到網頁後,他媽的 IE6 卻把它當全型字顯示,微軟你玩我咩!

不過我想說明,這個問題,算不上是微軟的錯,不是 IE6 的 bug,也不是 Word 「玩嘢」。事實是它們之間有點不協調;簡單點說,就是 IE6 不知道你這個 apostrophe (’) 是中文還是英文,所以會根據 Locale 設定,把它當成中文標點符號,以全型方式顯示出來。

其實只要花一點小功夫,我們就可以指定整個網頁,或某一個 element 所使用的語言。HTML 中可使用 lang 屬性 (XHTML 則用 xml:lang),以表示 element 中的內容是以甚麼語言撰寫,只要標示正確,瀏覽器就懂得怎樣處理。就如上圖下面的句子,在加上 lang 屬性後,IE6 就懂得把 apostrophe 以英文的字型顯示出來 (可真接用 IE6 觀看這個示範)。 

看,多簡單吧?不過很多人都忽略了。這個實例,又可以引伸為 Semantic Markup 的一個好處。

延伸閱讀:
多語環境中的網頁親和力
Best Practice 5: Choosing between lang and xml:langCT

  1. 其實不一定是中文 Windows,實際影響的是 Windows 的 Locale setting []
  2. 用 single quote 當 apostrophe,在仍是 ASCII 主導的時代,這做法無可厚非,但現在 Unicode 盛行,何不用回較正確的 apostrophe?本文標題是哇眾一點,只希望大家對這個 issue 有個 full picture,不要再斬腳趾避沙蟲。 []

Related Entries:


About this entry