[討論]有關 "電子郵件通知 " 功能 與 UTF-8

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

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
mischuinet
星球普通子民
星球普通子民
文章: 4
註冊時間: 2006-04-14 17:48

[討論]有關 "電子郵件通知 " 功能 與 UTF-8

文章 mischuinet »

現時本人使用 .20版本, 加上 UTF-8的 Chinese-Traditional 語言包, 當使用 電子郵件通知 功能(MASS MAIL)時, 所傳出去的電郵是以 UTF-8傳送, 以致各使用者會收到亂碼之電郵, 請問各位有沒有試過這問題及如何解決?
小竹子
竹貓星球大統領
竹貓星球大統領
文章: 4596
註冊時間: 2001-10-29 22:13
來自: 竹貓星球
聯繫:

文章 小竹子 »

注意事項:
●phpBB 架設相關問題請到 + phpBB 3.0.x 討論區發表!
●都沒有你要的答案嗎??>>點這裡<<搜尋一下吧!
●請使用>>標準的發文格式<<發表問題!
●竹貓星球並非政治團體代言人,請不要在竹貓討論政治議題,也不要認為竹貓是偏向任何一方政治團體,竹貓愛的是台灣這片生長的土地,過於泛政治化文章請來信告知移除!
●關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。
●所有市面上的免費空間皆非竹貓管轄,請勿來信詢問,請直接與該免費空間連絡。
mischuinet
星球普通子民
星球普通子民
文章: 4
註冊時間: 2006-04-14 17:48

文章 mischuinet »

收到了, 我會試試.

另外, 我參考了這個MOD後, 再加了一些code, 可以在沒有mbstring 之下都可強行傳送big5郵件. 整理好後或會遲些作出分享.
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

mischuinet 寫:另外, 我參考了這個MOD後, 再加了一些code, 可以在沒有mbstring 之下都可強行傳送big5郵件. 整理好後或會遲些作出分享.
http://www.php.net/manual/en/ref.mbstring.php
mbstring 和寄信沒有直接關係吧?它只是提供處理 string 的 function 可以辨識並且正常處理 multibyte 文字而已...

要轉換文字 charset 我會用 iconv :P
mischuinet
星球普通子民
星球普通子民
文章: 4
註冊時間: 2006-04-14 17:48

文章 mischuinet »

明白了..我對php 不是太熟...還望多多指教.
jeffher
星球普通子民
星球普通子民
文章: 7
註冊時間: 2002-09-26 23:14

文章 jeffher »

感謝神川小羽的分享!

偶使用2.0.21 UTF8的版本,也是發生寄通知信時出現亂碼,後來依照神川小羽的分享修改,卻發現原來偶linux中的PHP並未 enable mbstring,偶也不想重新編譯PHP,所以就改寫神川小羽的程式,將所有

代碼: 選擇全部

$this->subject = '=?'.$this->new_email_encode.'?B?' . base64_encode(mb_convert_encoding($this->subject, $this->new_email_encode, $lang['ENCODING'])).'?=';
                        $this->msg = mb_convert_encoding($this->msg, $this->new_email_encode, $lang['ENCODING']);
                        $this->extra_headers = mb_convert_encoding($this->extra_headers, $this->new_email_encode, $lang['ENCODING']);
改為

代碼: 選擇全部

                        $this->subject = '=?'.$this->new_email_encode.'?B?' . base64_encode(iconv( $lang['ENCODING'], $this->new_email_encode, $this->subject)).'?=';
                        $this->msg = iconv( $lang['ENCODING'], $this->new_email_encode, $this->msg);                                            
                        $this->extra_headers = iconv( $lang['ENCODING'], $this->new_email_encode, $this->extra_headers);
這樣就行了!

簡單來說就是將mb_convert_encoding改為iconv。
主題已鎖定

回到「phpBB 2 安裝與使用」