Permanent link disappeared - Permanent link 不見了!

一直以來,blogger.com 對於中文的主題都存著一個問題 [以用blogger.com 的 template 計],就係 click 入 permanent link 會得空白頁 [應該只係 IE 先至係],今日終於搵到這裡 - http://twpowers.blogspot.com/ ,有詳盡的答案!Thanks Taiwan Powers Blogger


修改 Blogger.com 模板的第一步
Blogger.com 所提供的預設模板,都算相當簡單而且美觀,而老實說,想要一個自己的blog,其實用系統內建的模板就已經很夠用了。但是,不管怎麼樣,就台灣人的使用來說,有一些調整算是相當必須的。通常來說,預設的模板的開頭,經常是這個樣子:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title><$BlogPageTitle$></title>
<$BlogMetaData$>



請修改成這個樣子:

<html xmlns="http://www.w3.org/1999/xhtml">
;
<head>
<$BlogMetaData$>

<title><$BlogPageTitle$></title>


就 Blogger.com 所定義的模板中 xml:lang="en" 這一段的意思,是使用將語言設定為英文的XHTML 標準,雖然這樣也可以正確顯示繁體中文,但是就許多的瀏覽器來說,特別是使用了 Gecko 引擎的瀏覽器如 Mozilla 、 Netscape 及 Firefox 等,往往就會使用簡體中文字體,套用到繁體中文上,比較明顯的差別是在台灣我們習慣標點符號位在每一行的中央,而簡體中文的標點符號則是對準基線(baseline),在閱讀的時候會比較不習慣。而如果拿掉這一行的定義,標點符號就會放在中央了。

另外,就是要將 <$BlogMetaData$> 放在 的前面,那是因為我們需要將 XHTML 的文字編碼定義,放在文件的標題之前。這是因為我們通常在 Blogger.com 上使用 UTF-8 文字編碼,而在微軟的 Internet Explorer 瀏覽器中存在著一個bug,中文的IE會預設以 Big5 開啟網頁,然後一行一行讀取設定,而不是先去偵測文件中使用標籤定義好的編碼,然後再去以這種編碼方式開啟網頁。這造成的結果是,如果在 title 中使用了 UTF-8 的中文(在單篇文章彙整,或是您設定了中文的站台名稱,就會出現這種狀況),而編碼的定義放在 title 之後,那麼因為IE還是以 Big5 解讀 title ,然後往往就會因為找不到 title 的還原標籤(close tag),而讓IE以為在 title 後面的全部內容都是title的範圍,也就出現了IE開啟 UTF-8 網頁時,出現一片空白的狀況。

沒有留言:

發佈留言

Related Posts Plugin for WordPress, Blogger...