[問題]attach mod附加檔案中文檔名變成空白

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

主題已鎖定
頭像
shinmaple
星球普通子民
星球普通子民
文章: 13
註冊時間: 2007-01-24 14:34

[問題]attach mod附加檔案中文檔名變成空白

文章 shinmaple »

問題外掛:Attachment Mod 2.4.5
主要參考連結:
[整理] 安裝 attach mod 相關問題與解法
[教學] attach_mod_v237 成功安裝法分享
附加檔案突破 2MB 限制
[解決] (論壇語系 utf-8 編碼) 下載附件_中文檔名變亂碼的問題
狀況描述:
問題一:
參考以上文章,已成功將attach mod(UTF-8)安裝好,使用目前正常(可正常上傳及下載),唯獨若附件有中文檔名時,則檔名有中文的部份會變成空白,並不是變成亂碼,但還是參考此文章修改
[問題]attach_mod241加上bb2019下載附件變成亂碼<暫時解決>
如下:
打開 download.php
找到
代碼:
// Send out the Headers
header('Content-Type: ' . $attachment['mimetype'] . '; name="' . $real_filename . '"');
header('Content-Disposition: inline; filename="' . $real_filename . '"');
取代
代碼:
// Send out the Headers
if($browser_agent == 'ie') {
header('Content-Type: ' . $attachment['mimetype'] . '; name="' . urlencode($real_filename) . '"');
header('Content-Disposition: inline; filename="' . urlencode($real_filename) . '"');
} else {
header('Content-Type: ' . $attachment['mimetype'] . '; name="' . $real_filename . '"');
header('Content-Disposition: inline; filename="' . $real_filename . '"');
}
卻發現我的download.php中需修改的片段文字不同,我的download.php是:
// Send out the Headers
header('Content-Type: ' . $attachment['mimetype'] . '; name="' . $real_filename . '"');
header('Content-Disposition: attachment; filename="' . $real_filename . '"');

嘗試如下:
1.在不考慮文字不同的情況下,依照wasabi大大所言,將需修改部份取代之後,問題仍沒有解決,中文檔名的部份一樣是空白。
2.將需修改片段文字不同的地方(也就是inline)改成attachment,但問題還是一樣。
請問到底要怎麼改呢?

問題二:
後來經測試後發現附加檔案的中文檔名前面如果加上英文字(如檔名為:YH中文檔案),則中文字部份奇蹟似的正常了,所以若此問題無法解決的話,若能預設在附加檔案前面加上英文字則此檔名中文空白問題可暫時解決,因此欲參考jeswang.tw大大在此篇文章[問題]Att MOD 無法附加具有雙字元檔名回覆的文字修改
為了解決上傳檔為中文檔名問題,我發覺中文檔名前為英文或是數字,中文檔名就不會成為亂碼,所以我更改以下就強制掛上前置字元,也解決後面中文問題。

[quote]代碼:
用 EmEditor 開啟 attachmod\posting_attachments.php

找到

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

改成

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

即可
當使用EmEditor欲開啟attachmod\posting_attachments.php來編輯時,
卻跳出若編輯會有錯誤的訊息:
some characters cannot be converted using the specified encoding.The file will be corrupted if you continue editing and save the file.
嘗試忽略此訊息,將此檔依照jeswang.tw大大所言修改後,論壇會發生如下錯誤訊息:
Parse error: parse error, unexpected ',' in C:\AppServ\www\phpBB2\attach_mod\posting_attachments.php on line 1201
我想是因為修改此檔的原因,我也使用過記事本編輯posting_attachments.php,但出現的錯誤一樣。
請問要怎麼辦呢?
不好意思,寫了那麼長,希望有人可以撥空幫忙看一下。

補充:
目前安裝的外掛有Calendar Lite v1.4.7
●架設主機作業系統:windows 2000 sp4
●快速架站程式:Appserv 2.4.8(Apache 2.0.59、PHP 4.4.5、MySQL 5.0.27、phpMyAdmin 2.9.2)
●上網方式:Hinet ADSL
●phpBB2 版本:phpBB-2.0.21 UTF-8
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

建議您:
1. 先不考慮問題二的修改

如果您使用的瀏覽器是 IE 的話,
那麼您只要照著說明, 取代原始碼即可.

代碼: 選擇全部

	/*
	// Send out the Headers
	header('Content-Type: ' . $attachment['mimetype'] . '; name="' . $real_filename . '"');
	header('Content-Disposition: attachment; filename="' . $real_filename . '"');
	*/
	// UTF-8 http://phpbb-tw.net/phpbb/viewtopic.php?p=229051#229051 
	// Send out the Headers
	if($browser_agent == 'ie') { 
      header('Content-Type: ' . $attachment['mimetype'] . '; name="' . urlencode($real_filename) . '"'); 
      header('Content-Disposition: inline; filename="' . urlencode($real_filename) . '"'); 
	} else { 
      header('Content-Type: ' . $attachment['mimetype'] . '; name="' . $real_filename . '"'); 
      header('Content-Disposition: inline; filename="' . $real_filename . '"'); 
	}
如上是我的修改方式, 提供您參考.

2. 貼出論壇網址 (或測試文章連結)
3. 提供測試用帳號與密碼
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
shinmaple
星球普通子民
星球普通子民
文章: 13
註冊時間: 2007-01-24 14:34

文章 shinmaple »

心靈捕手 寫:建議您:
1. 先不考慮問題二的修改
如果您使用的瀏覽器是 IE 的話,
那麼您只要照著說明, 取代原始碼即可.
..恕刪
如上是我的修改方式, 提供您參考.
2. 貼出論壇網址 (或測試文章連結)
3. 提供測試用帳號與密碼
心靈大您好,使用您提供的修改,也是無法解決中文字空白的問題,
後來又發現,若使用中文檔名時,檔名長一點的話,
他可以顯示第8bit之後的中文字,
例如附加檔案名稱為:人生的光明面-心得.doc,則會顯示?明面-心得.doc,
不曉得是怎麼一回事?
如果您有空的話,請連到這裡幫忙測試一下,謝謝!

帳號:test
密碼:3128

ps.此網站未測試過可否由外面連線,在公司區網內電腦連線測試則ok,另外,
若在晚上五點半後一定是連不上的喲,因為公司會把網路關掉,不好意思。
●架設主機作業系統:windows 2000 sp4
●快速架站程式:Appserv 2.4.8(Apache 2.0.59、PHP 4.4.5、MySQL 5.0.27、phpMyAdmin 2.9.2)
●上網方式:Hinet ADSL
●phpBB2 版本:phpBB-2.0.21 UTF-8
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

shinmaple 寫:
心靈捕手 寫:建議您:
1. 先不考慮問題二的修改
如果您使用的瀏覽器是 IE 的話,
那麼您只要照著說明, 取代原始碼即可.
..恕刪
如上是我的修改方式, 提供您參考.
2. 貼出論壇網址 (或測試文章連結)
3. 提供測試用帳號與密碼
心靈大您好,使用您提供的修改,也是無法解決中文字空白的問題,
後來又發現,若使用中文檔名時,檔名長一點的話,
他可以顯示第8bit之後的中文字,
例如附加檔案名稱為:人生的光明面-心得.doc,則會顯示?明面-心得.doc,
不曉得是怎麼一回事?
如果您有空的話,請連到這裡幫忙測試一下,謝謝!

帳號:test
密碼:3128

ps.此網站未測試過可否由外面連線,在公司區網內電腦連線測試則ok,另外,
若在晚上五點半後一定是連不上的喲,因為公司會把網路關掉,不好意思。
您提供的 'IP' 乃虛擬 IP, 僅限您 '公司區網內電腦連線' 而已;
再加上您使用 Appserv 2.5.7 架站, 所以我無法實際模擬情況測試.

除了待有相同經歷的網友, 經驗分享之外,
也只能建議您, 重新以 Appserv 2.4.7 架站, 再試試.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
shinmaple
星球普通子民
星球普通子民
文章: 13
註冊時間: 2007-01-24 14:34

文章 shinmaple »

心靈捕手 寫:您提供的 'IP' 乃虛擬 IP, 僅限您 '公司區網內電腦連線' 而已;
再加上您使用 Appserv 2.5.7 架站, 所以我無法實際模擬情況測試.

除了待有相同經歷的網友, 經驗分享之外,
也只能建議您, 重新以 Appserv 2.4.7 架站, 再試試.
恩,謝謝心靈大的建議
等有空再來試試囉
請問那使用Appserv2.4.7跟Appserv 2.5.7有什麼差別嗎?
還是說不要使用快速架站套件,一個一個慢慢安裝會比較好嗎?
如果要一個一個裝(phpMyAdmin+Apache+mysql+php分開裝)
可以建議一下各使用什麼版本安裝嗎?
感恩^^
●架設主機作業系統:windows 2000 sp4
●快速架站程式:Appserv 2.4.8(Apache 2.0.59、PHP 4.4.5、MySQL 5.0.27、phpMyAdmin 2.9.2)
●上網方式:Hinet ADSL
●phpBB2 版本:phpBB-2.0.21 UTF-8
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

shinmaple 寫:請問那使用Appserv2.4.7跟Appserv 2.5.7有什麼差別嗎?
還是說不要使用快速架站套件,一個一個慢慢安裝會比較好嗎?
如果要一個一個裝(phpMyAdmin+Apache+mysql+php分開裝)
可以建議一下各使用什麼版本安裝嗎?
感恩^^
1. 差異性主要在 PHP 版本
目前的 phpBB2 不支援 PHP 5.x

參考連結:
http://phpbb-tw.net/phpbb/viewtopic.php?p=244756#244756

2. 一個一個安裝, 必須有相當的經驗, 自行修改相關設定檔.
在 '教學文件庫' 版面, 已經有不少網友, 分享成功的經驗, 可以參考. (如下)
http://phpbb-tw.net/phpbb/viewtopic.php?t=45056
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
MeowJohn
星球普通子民
星球普通子民
文章: 11
註冊時間: 2007-02-18 18:00

文章 MeowJohn »

應該是php5版的問題, 我的也是按照心靈捕手大大方法更改
結果中文檔名部分字會顯示??..例如:板頭圖片.zip 上傳否會變成 ??頭圖片.zip...但是改成 首頁圖片.zip 上傳就正常...我覺得是部分字會變成??而不是字元多寡問題...
主題已鎖定

回到「外掛問題討論」