1 頁 (共 2 頁)

[問題] 同樣是 mail 全都變成亂碼的問題

發表於 : 2007-04-21 00:49
WesleyHo
●架設主機作業系統:UNIX socket
●免費空間連結: http://www.bluehost.com/
●您的上網方式:CABLE (US - Times Warner Cable)。
●您安裝的程式:Apache + php + MySql
●您的 phpBB2 版本:phpBB 4.1.21
●您的 domain(網域名稱) :disney.lovesakura.com
●您的 phpBB2 連結網址: http://disney.lovesakura.com/Discuss/
●錯誤狀態:

最近由於無名併購事件,我已將我的網站搬到國外的伺服器 http://www.bluehost.com/ ,包括論壇也都搬過去了,但現在的問題如同之前有網友同樣遇到的問題,就是論壇程式所寄出的信件全都會變成亂碼,包括註冊認證信、回文通知信…等等。

這網站可以讓人改 php.ini,但好像說這檔案改後必須放到所有相關的目錄下才行,我將該站此一預設的 php.ini 檔壓縮放在這邊給大家參考:
http://disney.lovesakura.com/php.zip

郵件亂碼的問題該網站提出了一個解法,就是在 php.ini 中加入下列語法:

[mbstring]
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = long;
mbstring.func_overload = 1

該網站關於上面語法的說明在這邊:
http://helpdesk.bluehost.com/kb/index.p ... d=2&id=432

但我對 php 坦白說一竅不通,我論壇能搞起來都是之前在這邊問各位前輩的成果。根據以上改法我試了一下加進 php.ini ,但還是一堆亂碼,而且還更亂,連原本郵件還能保有的 HTML 格式都不見了。

來這邊爬文後發現很多朋友有都有類似的問題,我試了一下改其他語法的功能都無效,看來關鍵還是那個 php.ini ,但我實在不知道該如何修改才好,因此提供此一檔案希望各位前輩能幫幫我,先謝謝大家囉!

發表於 : 2007-04-21 07:16
jwxinst
我在想你BIG的論壇, 但PHP.INI設定是UTF8會不會有問題?
因為他給你的方法是給utf8滴

發表於 : 2007-04-21 13:35
WesleyHo
那請教大家,我應該怎麼改?

發表於 : 2007-04-26 09:18
WesleyHo
啊…幾天過去了…還是無解啊…

各種能找到的方法都試著改過,還是無效。

拜託大大幫幫我吧!感激不盡~

發表於 : 2007-04-26 16:14
chiouss
這篇不知道有沒有幫助?

發表於 : 2007-04-27 04:56
WesleyHo
感謝 chiouss ,標題能夠成功顯示中文了!
但是郵件內文中的中文字還是一堆亂碼,
難道有其他地方設定錯誤嗎?

我把我的 emailer.php 壓縮放在這邊:
http://disney.lovesakura.com/emailer.zip

誰能幫幫我啊~多謝啦!

簡單解決方法

發表於 : 2007-04-27 10:15
閒人甲
其實有個簡單的解決方法的。那就是選用 smtp 寄註冊或其他的電郵。這樣做就不用改什麼 php.ini,也不用改任何 php 程序檔了! ;-)

Re: 簡單解決方法

發表於 : 2007-04-27 15:01
chiouss
閒人甲 寫:其實有個簡單的解決方法的。那就是選用 smtp 寄註冊或其他的電郵。這樣做就不用改什麼 php.ini,也不用改任何 php 程序檔了! ;-)
你錯了 :Q

發表於 : 2007-04-27 15:02
chiouss
WesleyHo 寫:感謝 chiouss ,標題能夠成功顯示中文了!
但是郵件內文中的中文字還是一堆亂碼,
難道有其他地方設定錯誤嗎?
這幾點不知道你有沒有注意到?
注意事項:
1.在你嘗試修改前,建議您先行備份相關檔案以免不測。
2.你的主機必須安裝 mbstring 函式庫模組才能使用此修正。
3.你的郵件樣版必須是 utf-8 編碼且樣板中 Charset 必須是 utf-8
4.你的語系中 $lang['ENCODING'] 必須是 utf-8

Re: 簡單解決方法

發表於 : 2007-04-28 18:31
閒人甲
chiouss 寫:
閒人甲 寫:其實有個簡單的解決方法的。那就是選用 smtp 寄註冊或其他的電郵。這樣做就不用改什麼 php.ini,也不用改任何 php 程序檔了! ;-)
你錯了 :Q
我不知道你們改了什麼php code,但在我網站的情況下(同樣是放在bluehost的),就真的是什麼都不用改,只要設定用 smtp 寄電郵就再沒有問題出現了。

發表於 : 2007-04-29 07:53
WesleyHo
chiouss 寫:
WesleyHo 寫:感謝 chiouss ,標題能夠成功顯示中文了!
但是郵件內文中的中文字還是一堆亂碼,
難道有其他地方設定錯誤嗎?
這幾點不知道你有沒有注意到?
注意事項:
1.在你嘗試修改前,建議您先行備份相關檔案以免不測。
2.你的主機必須安裝 mbstring 函式庫模組才能使用此修正。
3.你的郵件樣版必須是 utf-8 編碼且樣板中 Charset 必須是 utf-8
4.你的語系中 $lang['ENCODING'] 必須是 utf-8
這些細節我都有注意到,但改了之後還是不行,郵件內文同樣都是亂碼。

我對 php 不是很熟悉,還請本板的高手能多多包涵,幫幫我解決這難題~

如果需要我提供任何其他檔案,請告訴我。謝謝!謝謝!

發表於 : 2007-04-29 09:04
神川小羽
## 描述: 強制將 UTF8 化的 PHPBB 送出的郵件轉換為大五碼big5

發表於 : 2007-05-02 03:48
WesleyHo
神川小羽 寫:
## 描述: 強制將 UTF8 化的 PHPBB 送出的郵件轉換為大五碼big5
請問這是?我的檔案要怎麼修改才能適用?不太懂耶...

發表於 : 2007-05-02 08:26
chiouss
WesleyHo 寫:
神川小羽 寫:
## 描述: 強制將 UTF8 化的 PHPBB 送出的郵件轉換為大五碼big5
請問這是?我的檔案要怎麼修改才能適用?不太懂耶...
他的修改是針對 utf8 版的 phpbb,而你還是用 big5 的。我都說要注意了 (因為我一開始沒去看你的站,沒注意到你用 big5) 你還跟我說你有注意...

發表於 : 2007-05-02 12:36
WesleyHo
chiouss 寫:
WesleyHo 寫:
神川小羽 寫:
請問這是?我的檔案要怎麼修改才能適用?不太懂耶...
他的修改是針對 utf8 版的 phpbb,而你還是用 big5 的。我都說要注意了 (因為我一開始沒去看你的站,沒注意到你用 big5) 你還跟我說你有注意...
或許我對這真的是外行,還請你多多包涵。

我當初的確有去查這些設定,但我這門外漢找了半天才知道哪些檔案是郵件樣板,檢查設定的確是 utf-8,但至於語系中 $lang['ENCODING'] 必須是 utf-8 這句,我實在不知道該找哪個檔案。我一開始就承認我外行,如果因為這樣耗費到你的時間,還請你原諒。

如果此修改不適用,那問題又回到原點。寄出郵件還是一堆亂碼,誰能告訴我該如何修改,該檢查哪些檔案,或是提供哪些檔案,還請大家幫幫忙,謝謝。