2008/10/03

純文字的 line-end 問題

最近在改寫一部分自已網頁上的 CSS,上傳到 Google Page 這個免費網頁空間後發現了一些問題。

原本的網頁原始碼都是在 Windows 或 Fedora 5 上寫的。在 Windows 上,那時還沒考慮到編碼 (file encoding) 的問題和所謂 line-endings 的東西。所以,那時後將網頁上傳到 Yahoo 或 PCHome 的免費網頁空間時,沒有怪問題。而後來投入 GNU/Linux 的懷抱後 (題外話,因為部落網站上傳資料和 Picasa、GenoPro 等軟體的關係,又把 Windows 找了回來),偶爾還會修改一下 html/CSS 內容,也沒發現有多大問題。在 Fedora 或 SuSE 上,不論是用 gEdit 或 Kwrite/Kate 碼字,上傳到網路上也不曾發現過類似問題。而且,後來我都是設定"編碼/行尾" (encode/line-end) 為 UTF-8/Unix。

現在,手上有了 Mac OSX,在使用 Smultron 或 TextWrangler 寫 CSS 時,設定的都是 UTF-8/Unix。可是 CSS 檔上傳到 Google Page 後,網頁顯示就有問題了,像是沒有設定任何 style 一樣。一開始檢查 file encoding 是否有誤時,我曾將每個檔案都看了一遍,結果都是 UTF-8,所以應該不是編碼的問題,而且一般編碼問題都是以亂碼的型式表現出來,不是什麼都沒有或編排錯誤。我也忘了後來是怎麼懷疑到 line-endings 的問題上。而 line-endings 有分 Unix/Mac OSX (LF), Mac (CR), Windows (CR/LF) 三種。選 Windows (CR/LF) 就對了。這種情況還真是可惡啊!

秀個圖,在 Sumltron 上的偏好設定中,line-end 設定找不到 Windows 字樣,作者寫成 Dark Side,哈哈!



Powered by ScribeFire.

沒有留言:

張貼留言

逢廣告文必砍!