jwxinst 寫:我排除了是電腦這類的問題
大概是打包時方法不對?
恕我說一句喔, 我之前更換英文 / phpbbchina的簡繁都一樣照用auto mode
我相信是老師在打包 / 存檔時跟我們出了一點出入吧
我不太清楚binary和ASCII兩個模式的分別
大概是在utf8上傳時, ftp client需要handle的方式不一樣了
但如果知道binary的意思, 再深入討論可能就找出原因了
不過一般別人上傳都只用auto / binary
我自己也重新打包了一份, 每份檔案再重新save起來
仍然沒用. 我也不知道官方和PC那邊是怎麼樣打包
或許我等會請教他們吧...
我認為, 這個問題和 '打包' 的方式無關.
一般而言:
上傳檔案模式區分為二:
1. 純文字檔案 (ASCII):
例如: 所有的 *.txt, *.php, *.css, *. html,... 等都是
2. 二進位檔案 (Binary):
舉凡所有非純文字檔案, 例如: 圖片檔, *.doc, *.xls,... 等都是
所以說, 照道理
上傳語言包 (解壓縮後) 的檔案, 應該是要選擇 ASCII Mode 才對;
即使 FileZilla 上傳採自動偵測時, 也是會選擇 ASCII Mode 才對. (如圖, 以 FileZilla 2.2.32, 3.0.4 為例)
- 2008010301.jpg (179.18 KiB) 已瀏覽 28578 次
- 2008010302.jpg (169.46 KiB) 已瀏覽 28593 次
以我目前的測試:
使用
FileZilla (自動偵測, 純文字檔案, 或者二進位檔案模式) 上傳一切正常.
我比較同意 phpbbchina 質疑的看法:
有可能是使用作業系統所造成的差異;
而造成最大不同的可能就是換行方式.
1. Windows 採用 "carriage-return" (CR) and "line-feed" (LF) 換行方式
2. Unix 採用 "line-feed" (LF) 換行方式
3. Mac 採用 "carriage-return" (CR) 換行方式
當我 Windows 編輯後的文字檔儲存時, 會多了兩個換行的記號,
當這個文字檔拿到別的 Unix 使用時,
其中的 "line-feed" (LF) 記號, 會被自動忽略,
而 "carriage-return" (CR) 記號, 卻會造成亂碼.
因此, 若要迎合 Unix 使用者的需要,
那麼我恐怕在編輯檔案儲存時, 除了注意使用 'UTF-8 (未含 BOM)' 編碼之外,
還得要將換行格式, 改採 '僅有 LF (UNIX)' 才行. (如圖, 以 EmEditor 為例)
- 2008010401.jpg (142.39 KiB) 已瀏覽 28572 次
否則, Unix 使用者在上傳我 Windows 所編輯過的語言檔案時,
恐怕是得採 Binary 的模式較恰當.
我明天再抽空將所有語言檔案, 重新改採 '僅有 LF (UNIX)' 換行方式儲存
屆時, 再請您抽空試用看看.
ps.
1. 名詞解釋:
carriage-return: 返回游標
line-feed: 換行
2. 參考資料:
http://www.phpbb.com/community/viewtopic.php?t=590721 (贊成 ASCII)
http://www.phpbb.com/community/viewtopic.php?t=577952 (贊成 ASCII)
http://www.phpbb.com/community/viewtopic.php?t=577373 (贊成 Binary)
http://www.phpbb.com/community/viewtopi ... 5#p3557685 (贊成 Binary)
http://www.phpbb.com/community/viewtopi ... 1#p3221971 (提到 換行格式差異)
http://www.pczone.com.tw/vbb3/archive/t-135900.html (解決 換行格式差異)