1 頁 (共 1 頁)

[問題]Att MOD 無法附加具有雙字元檔名

發表於 : 2006-05-14 22:34
evilhtp
問題外掛
attachment mod 2.43

參考連結
http://phpbb-tw.net/phpbb/viewtopic.php?t=38232
http://phpbb-tw.net/phpbb/viewtopic.php?p=216704
http://phpbb-tw.net/phpbb/viewtopic.php?t=43876
http://phpbb-tw.net/phpbb/viewtopic.php?t=20846
(還有很多搜尋att+mod的所有搜尋)

使用版本
OS:win2003
apache:2.0.55
PHP:PHP 5.14
MySQL:5.0
PHPBB:2.0.20
(以上是這些,如有不足再補)

網站位置
http://evilhtp.no-ip.info
帳號:guest
密碼:1111

狀況描述

檔案傳輸正常也已經解決了傳輸超大型檔案的問題
不過目前卻無法上傳雙字元的檔案(中文、日文)
會變成顯示空白
因為OS是Win空間,絕對不會有太大問題...
所以想請問還有哪邊需要檢查的部份?

補充
因為不清楚Att MOD到底是不是官方的MOD
所以發問到這邊

發表於 : 2006-05-15 04:10
jwxinst
請參考這一篇
http://phpbb-tw.net/phpbb/viewtopic.php ... 5%E6%96%87

詳細方法可以參考
http://starryhometown.net/forum/viewtop ... =4049#4049
(好像是這個方法- -"))
ATTACHMENT的確是官方外掛
有發文格式, 有詳細的描述問題, 值得說喔!!! :mrgreen:

發表於 : 2006-05-15 11:11
心靈捕手
To evilhtp:

根據我個人在測試論壇使用的經驗, 並不會有類似 (中文檔名消失) 的情況發生.
測試論壇環境: phpbb 2.0.20 (utf-8) + attach 2.4.3
試用帳號 / 密碼: goodluck / 12345678
http://wang5555.dyndns.org/test/phpbb2/ ... ic.php?t=4

我是直接套用 Pre-modified files for phpBB 2.0.20
並且做了以下的修正而已.
// [解決] (論壇語系 utf-8 編碼) 下載附件_中文檔名變亂碼的問題
http://phpbb-tw.net/phpbb/viewtopic.php?p=229051#229051

--
建議您:
1. 補充敘述您的安裝 (修改) 過程.
2. 更新 (降低) PHP 為 4.x 後, 再試試看.

發表於 : 2006-05-15 17:20
evilhtp
心靈捕手 寫:To evilhtp:

根據我個人在測試論壇使用的經驗, 並不會有類似 (中文檔名消失) 的情況發生.
測試論壇環境: phpbb 2.0.20 (utf-8) + attach 2.4.3
試用帳號 / 密碼: goodluck / 12345678
http://wang5555.dyndns.org/test/phpbb2/ ... ic.php?t=4

我是直接套用 Pre-modified files for phpBB 2.0.20
並且做了以下的修正而已.
// [解決] (論壇語系 utf-8 編碼) 下載附件_中文檔名變亂碼的問題
http://phpbb-tw.net/phpbb/viewtopic.php?p=229051#229051

--
建議您:
1. 補充敘述您的安裝 (修改) 過程.
2. 更新 (降低) PHP 為 4.x 後, 再試試看.
目前使用的download.php已經用這篇文章修改過了

安裝的順序
apache+php+mysql
phpbb
討論區版面圖示 Category_Icon_1.0.0.zip
討論區權限快速選擇 Overall Forums Permission Interactive Editor
討論區權限快速選擇<進階版> OFPIE <EXT>
檔案附加插件 Attachment MOD
CPG相簿系統 Coppermine Gallery

按照安裝順序排列,結果才發現中文檔名不吃
安裝ATT MOD我也是用Pre-modified files for phpBB 2.0.20(premodified_files_phpbb2020.zip)
因為本來修改好了不過發現有部份問題
所以直接套用(那這樣前面的插件 囧!?)

降低PHP會有比較顯著的效果嗎?
因為主機服務項目比較多,所以不是想重開機就重開機的

發表於 : 2006-05-15 17:44
evilhtp
看過心靈捕手您的之後
我想請教你一個問題
雙字元檔案儲存上去之後,是以數字的型態儲存嗎?
(如果是的話,就應該是我SHOW出來的問題)

我剛剛直接全新PHPBB2.0.20+ATTmod+perATTmod for phpbb2.20
結果也是不能顯示雙字元檔名

雖然只是這個顯示的問題... 不過頭很大 (囧)

謝謝關心這個問題的人 :-D

發表於 : 2006-05-15 18:35
evilhtp
evilhtp 寫:看過心靈捕手您的之後
我想請教你一個問題
雙字元檔案儲存上去之後,是以數字的型態儲存嗎?
(如果是的話,就應該是我SHOW出來的問題)

我剛剛直接全新PHPBB2.0.20+ATTmod+perATTmod for phpbb2.20
結果也是不能顯示雙字元檔名

雖然只是這個顯示的問題... 不過頭很大 (囧)

謝謝關心這個問題的人 :-D
好吧
我已經有一些小心得
那就是我的資料庫顯示是以latin1_swedish_ci作校對連線
不過當我用這校對連線打開卻是... 亂碼
所以到現在我還不能用phpadmin正確看到我資料庫中的中文
或許這就是主因...!?
可是論壇確定是由UTF-8顯示
那問題是出在!? (頭大)

發表於 : 2006-05-15 22:17
evilhtp
evilhtp 寫:
evilhtp 寫:看過心靈捕手您的之後
我想請教你一個問題
雙字元檔案儲存上去之後,是以數字的型態儲存嗎?
(如果是的話,就應該是我SHOW出來的問題)

我剛剛直接全新PHPBB2.0.20+ATTmod+perATTmod for phpbb2.20
結果也是不能顯示雙字元檔名

雖然只是這個顯示的問題... 不過頭很大 (囧)

謝謝關心這個問題的人 :-D
好吧
我已經有一些小心得
那就是我的資料庫顯示是以latin1_swedish_ci作校對連線
不過當我用這校對連線打開卻是... 亂碼
所以到現在我還不能用phpadmin正確看到我資料庫中的中文
或許這就是主因...!?
可是論壇確定是由UTF-8顯示
那問題是出在!? (頭大)
或許是因為apache的預設語系緣故(或是...其他的...php.ini??)
我記得我設定mbst???的時候設定跟官方說明日文一樣 XD||

用CPG打開的時候預設語系會跳到日語
因為他的設定是跟著所有系統跑
所以我在想會不會因為這樣所以影響到上傳雙字元的檔案
畢竟日文不認識中文(即使Unicode也不能解決這問題吧)

待我整理好了之後再來處理看看吧 (.___.)

發表於 : 2006-05-16 09:57
evilhtp
evilhtp 寫:
evilhtp 寫:
evilhtp 寫:看過心靈捕手您的之後
我想請教你一個問題
雙字元檔案儲存上去之後,是以數字的型態儲存嗎?
(如果是的話,就應該是我SHOW出來的問題)

我剛剛直接全新PHPBB2.0.20+ATTmod+perATTmod for phpbb2.20
結果也是不能顯示雙字元檔名

雖然只是這個顯示的問題... 不過頭很大 (囧)

謝謝關心這個問題的人 :-D
好吧
我已經有一些小心得
那就是我的資料庫顯示是以latin1_swedish_ci作校對連線
不過當我用這校對連線打開卻是... 亂碼
所以到現在我還不能用phpadmin正確看到我資料庫中的中文
或許這就是主因...!?
可是論壇確定是由UTF-8顯示
那問題是出在!? (頭大)
或許是因為apache的預設語系緣故(或是...其他的...php.ini??)
我記得我設定mbst???的時候設定跟官方說明日文一樣 XD||

用CPG打開的時候預設語系會跳到日語
因為他的設定是跟著所有系統跑
所以我在想會不會因為這樣所以影響到上傳雙字元的檔案
畢竟日文不認識中文(即使Unicode也不能解決這問題吧)

待我整理好了之後再來處理看看吧 (.___.)
現在就不清楚phpbb的連線校對是用甚麼
嘗試用big5_chinese_ci作為檔名檢查的連線校對
就有字元能顯示了.... 雖然還是????,不過能看出是雙字元的檔名了

在這邊請問大家的預設連線校對是用甚麼
而我又要如何修改檢查!?

發表於 : 2006-05-16 20:53
evilhtp
已經到了發瘋的地步了 Q<>Q

所以在剛剛直接將SQL的charset改成utf8

現在還是一樣的問題
不過有更新的劇情發展(喂喂,連續劇喔)
原先的測試帳號跟密碼還是能用
現在前面只要多一個"護航文字",即使是中日夾雜的檔名都能正常顯示
幾乎是正常的,不過這護航文字是數字或英文

很詭異...晚點我在來嘗試其他方法好了 orz
也請大家提供點意見吧 <O>

發表於 : 2006-07-08 14:21
clouds27
原因出在於 basename() 無法處理,以雙位元開頭的[檔案名稱]
我的作法是把basename() 拿掉!!

不知道還有沒有人有其他方法?? 

發表於 : 2006-07-08 20:18
-Ho-
我裝上新的2.0.21加上pre-mod版的attach mod
但是也有上傳中文檔名消失的問題
是php版本的問題嗎
這個是5.x的php
==============================
我有另一個空間是php4.x的
沒有這個問題T_T

發表於 : 2006-07-09 00:24
jwxinst
建議上載時最好不要用中文字..
不是因為麻煩, 而是下載的時候, 有的人會遇到亂碼
或者根本下載不了的情況.....

發表於 : 2006-07-09 16:49
-Ho-
jwxinst 寫:建議上載時最好不要用中文字..
不是因為麻煩, 而是下載的時候, 有的人會遇到亂碼
或者根本下載不了的情況.....
請問一下有方法在上傳前在檔案名前加上指定的字嗎?
如ABC.ZIP
上傳後變成
PHPBB_ABC.ZIP

發表於 : 2006-08-02 12:35
jeswang.tw
-Ho- 寫:
jwxinst 寫:建議上載時最好不要用中文字..
不是因為麻煩, 而是下載的時候, 有的人會遇到亂碼
或者根本下載不了的情況.....
請問一下有方法在上傳前在檔案名前加上指定的字嗎?
如ABC.ZIP
上傳後變成
PHPBB_ABC.ZIP
為了解決上傳檔為中文檔名問題,我發覺中文檔名前為英文或是數字,中文檔名就不會成為亂碼,所以我更改以下就強制掛上前置字元,也解決後面中文問題。

PHPBB : 2.0.21 版
Attach_mod : 2.4.3
CHARSET : UTF-8

代碼: 選擇全部

用 EmEditor 開啟 attachmod\posting_attachments.php

找到

$r_file = trim(basename(htmlspecialchars($this->filename)));

改成

$r_file = trim(basename(htmlspecialchars('PHPBB_'.$this->filename)));

即可
我是 PHP 新手,這樣改法或許不對,但是卻解決我的問題。