[反應] 2.0.18 中文UTF-8版 信件標題異常

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
cvk307
星球普通子民
星球普通子民
文章: 24
註冊時間: 2006-04-27 09:52
來自: 捉摸不著的空間          近來狀況:準時睡
聯繫:

文章 cvk307 »

我試過惹

gmail = 收的到信並且顯示成功

yahoo = 收的到信並且顯示成功

pchome = 瀏覽器必須轉成UTF-8 才可以瀏覽

hotmail = 瀏覽器必須轉成UTF-8 才可以瀏覽

hinet = 收的到信並且顯示成功
曾經,我們那麼強烈地想走出去,甚至不再回來。那時候,我們以為外面的天很高很藍,
而家是束縛我們高飛的繩索。一直到真的離開以後,才知道,在我們心底,故鄉永遠是漂
泊的下一站。
wolflord
星球普通子民
星球普通子民
文章: 2
註冊時間: 2006-06-04 05:23

文章 wolflord »

看了半天,好像都不是很有效的感覺。
oliver0121 寫:
小竹子 寫:我記得有一篇文章在討論郵件修正的,利用關鍵字 UTF8 找看看 :oops:
收到
[教學] 分享 UTF-8 化的經驗(含 web 畫面與信件)
之前2.0.17照著改是失敗的
待會再來試一次\r

剛剛以英文
THIS IS A TEST FOR THE SUBJECT LENGTH PROBLEM
作標題跟內文發送
兩版本居然都是正常的@@
基於解決問題的前提,動手作了一點點的小修改。我想,我這個方法應該是對只要有支援MIME的EMAIL程式(包括WEBMAIL)都有效的方法
OPEN File:emailer.php 寫: Find:

代碼: 選擇全部

function set_subject($subject = '')
{
Add:

代碼: 選擇全部

global $lang;
Find:(next line)

代碼: 選擇全部

$this->subject = trim(preg_replace('#[\n\r]+#s', '', $subject));
Replace to

代碼: 選擇全部

$this->subject ="=?".$lang['ENCODING']."?B?". base64_encode( trim(preg_replace('#[\n\r]+#s', '', $subject)))."?=";
基本上就是把set_subject()從這樣:

代碼: 選擇全部

        function set_subject($subject = '')
        {
          $this->subject = trim(preg_replace('#[\n\r]+#s', '', $subject));
        }
變成這樣:

代碼: 選擇全部

        function set_subject($subject = '')
        {
          global $lang;
          $this->subject ="=?".$lang['ENCODING']."?B?". base64_encode( trim(preg_replace('#[\n\r]+#s', '', $subject)))
."?=";
        }
原理說明:
利用MIME格式來封裝多位元語言封包(標題內容)使收信程式以MIME的方式處理標題內容。[/quote]
wolflord
星球普通子民
星球普通子民
文章: 2
註冊時間: 2006-06-04 05:23

文章 wolflord »

wolflord 寫:
OPEN File:emailer.php 寫: Find:

代碼: 選擇全部

function set_subject($subject = '')
{
Add:

代碼: 選擇全部

global $lang;
Find:(next line)

代碼: 選擇全部

$this->subject = trim(preg_replace('#[\n\r]+#s', '', $subject));
Replace to

代碼: 選擇全部

$this->subject ="=?".$lang['ENCODING']."?B?". base64_encode( trim(preg_replace('#[\n\r]+#s', '', $subject)))."?=";
基本上就是把set_subject()從這樣:

代碼: 選擇全部

        function set_subject($subject = '')
        {
          $this->subject = trim(preg_replace('#[\n\r]+#s', '', $subject));
        }
變成這樣:

代碼: 選擇全部

        function set_subject($subject = '')
        {
          global $lang;
          $this->subject ="=?".$lang['ENCODING']."?B?". base64_encode( trim(preg_replace('#[\n\r]+#s', '', $subject)))
."?=";
        }
原理說明:
利用MIME格式來封裝多位元語言封包(標題內容)使收信程式以MIME的方式處理標題內容。
發現這樣修改有漏網之魚(使用EMAIL樣版時會沒編到碼)因此在加一處修改:
Find:

代碼: 選擇全部

$this->subject = (trim($match[2]) != '') ? trim($match[2]) : (($this->subject != '') ? $this->subject : 'No Subject');
Replace to :

代碼: 選擇全部

$this->subject = (trim($match[2]) != '') ? "=?".$lang['ENCODING']."?B?". base64_encode(trim($match[2])) ."?=": (($this->subject != '') ? $this->subject : 'No Subject');
hsiehpc43
星球普通子民
星球普通子民
文章: 15
註冊時間: 2004-02-24 20:29

文章 hsiehpc43 »

用前面的方法在yahoo上標題OK,但內容還是亂碼,
用第二個方法,都是亂碼?

我的版本是2.0.21
頭像
pyf12345
星球公民
星球公民
文章: 108
註冊時間: 2006-03-16 15:37

文章 pyf12345 »

到底怎麼解決這個問題啊,看的眼睛都花了^^!
我是在自己的主機架站:
●架設主機作業系統:Windows Xp Home/sp2
●快速架站程式:Appserv-win32-2.4.4a
●上網方式:Hinet ADSL
●phpBB 版本:2.0.22
●固定網址
●Posadis DNS伺服器軟體
●Godaddy申請網址
anndy
星球普通子民
星球普通子民
文章: 4
註冊時間: 2006-08-17 00:10

文章 anndy »

OPEN File:emailer.php
Find:

代碼: 選擇全部

// Send message ... removed $this->encode() from subject for time being
Before Add:

代碼: 選擇全部

$this->subject =$this->encode($this->subject);
我是用這樣子就可以了

webmail 只用Yahoo測過
全UTF-8可以正常顯示

個人粗略的看了一下前面的改法
基本上都不符合RFC2047的標準http://www.faqs.org/rfcs/rfc2047.html
沒有對長度做限制有可能會讓一些email軟體無法正常顯示
最後由 anndy 於 2006-08-17 02:05 編輯,總共編輯了 1 次。
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

文章 進藤光 »

耶~~這篇不是很久以前的討論嗎?難道還有什麼問題?

我覺得 Yahoo! 等不支援 UTF-8 的 Webmail 那是他們自己的問題,只是看站長要不要配合而已。改用 Big5 也不見得比較好...
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
anndy
星球普通子民
星球普通子民
文章: 4
註冊時間: 2006-08-17 00:10

文章 anndy »

進藤光 寫:耶~~這篇不是很久以前的討論嗎?難道還有什麼問題?

我覺得 Yahoo! 等不支援 UTF-8 的 Webmail 那是他們自己的問題,只是看站長要不要配合而已。改用 Big5 也不見得比較好...
經測試Yahoo已可以接收全UTF-8的email
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

文章 進藤光 »

嘿嘿~~最好不要太肯定喔~~因為我也有做詳細的測試報告!!
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
matyshao
星球普通子民
星球普通子民
文章: 1
註冊時間: 2006-08-18 10:58

文章 matyshao »

anndy 寫:OPEN File:emailer.php
Find:

代碼: 選擇全部

// Send message ... removed $this->encode() from subject for time being
Before Add:

代碼: 選擇全部

$this->subject =$this->encode($this->subject);
我測試的結果, 也OK
先回覆...免得以後找不到 :lol:
Egame豬仔
星球普通子民
星球普通子民
文章: 14
註冊時間: 2006-02-24 18:28

文章 Egame豬仔 »

+1
終於解決亂碼問題了-_-|||
sunseas
星球普通子民
星球普通子民
文章: 7
註冊時間: 2006-02-06 22:41
來自: TAIPEI

文章 sunseas »

這個在2.0.21也有用
剛試過 :oops:
新手上路請見諒
頭像
carl_lewis
星球普通子民
星球普通子民
文章: 4
註冊時間: 2004-02-10 14:58

文章 carl_lewis »

anndy 寫到:
OPEN File:emailer.php
Find:
代碼:
// Send message ... removed $this->encode() from subject for time being


Before Add:
代碼:
$this->subject =$this->encode($this->subject);



2.0.21 試過了...
yahoo 已沒問題...
不過 hotmail 裡...subject 和內文都是亂碼... 很煩惱 :-|
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

[問題]還是有亂碼

文章 momoC »

我用的是 hotmail 的帳號,發現即使改為以 UTF-8 檢視,看到的信還是有亂碼,不僅是自己設的論壇如此,從竹貓收到的信也是這樣,怎麼辦?

這是剛剛才從竹貓收到的信:
您好,

您收到這尦#129;這尦#129;電学#144;郵件是因為您在"竹貓星禣144;?"訂閱了主題"[啦#143;題]並#141;斷的被發文",
這個主題在您上次來訪後有新的回覆訊榣129;?.
您妣143;?以使用以下連給#144;來觀看回覆的訊榣129;?,
在您觀看原主題之剦#141;, 並#141;會有更新的訊榣129;?通知您.

http://phpbb-tw.net/phpbb/viewtopic.php?p=250365#250365

如果您想妣143;?消訂閱這個主題,
您妣143;?以按下主題下方"妣143;?消訂閱這個主題 (回覆通知)"的連給#144;,
或直接使用以下連給#144;:

http://phpbb-tw.net/phpbb/viewtopic.php ... atch=topic

--
竹貓星禣144;?管禣144;?團隊 敬上
● 架設主機作業系統:IIS 6.0
● 上網方式:DSL
● 虛擬空間 http://www.securemate.com
● 安裝程式:php 4 + MySql 2.5.4
● phpBB2 版本:phpBB 2.0.22
● domain: http://www.genderwars.org
● phpBB 連結: http://phpbb.genderwars.org
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

我發現在 hotmail 裡,語言設定為〔英文〕時
收到竹貓的信改為用 UTF-8 來看就會有亂碼參雜的問題
如果是設定為〔繁體中文〕來看,收到的信不管用什麼編碼看就都是亂碼

不過很奇怪的是
我自己的論壇照上面的方式去改,語言設定〔英文〕時
雖然和竹貓寄來的信一樣有亂碼參雜的結果
但改為用〔繁體中文〕來看,標題竟然是對的,內容則全是亂碼
主題已鎖定

回到「phpBB 2 安裝與使用」