作者feng1123 (feng)
看板PHP
標題[請益] 外部寄信給 ptt 用戶,站內信中文亂碼
時間Mon Sep 21 18:12:55 2015
最近在做網站功能,是需要從外部寄信給 ptt 用戶
但發現內文只要有中文就會變成亂碼
標題的中文字則可以正常顯示沒問題
初步查詢了一下 pttbug 版也有人在詢問此問題
通常這種情況應該是編碼問題
目前想確認這部分是 ptt 站方 mail server 問題
還是程式需要做什麼編碼上的調整
// sendgrid
$mail
->addTo("
[email protected]") //(id 為 ptt 帳號)
->setFrom("
[email protected]")
->setSubject("測試寄信")
->setText("測試寄信");
$res = $sendgrid->send($mail);
echo $res->getCode();
用 gmail 寄信調整為 plain text mode 寄到 ptt 站內信
內文有中文字一樣也是亂碼C
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.98.71
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1442830378.A.D4D.html
1F:→ knuckles: 應該是要轉為big5編碼 09/21 19:31
2F:→ feng1123: <?=mb_convert_encoding($str, "UTF-8", "auto");?> 09/21 20:38
3F:→ feng1123: 我有使用上面的方式將文字編碼轉換,不過還是不行 ~.~ 09/21 20:39
4F:→ knuckles: 上面那樣寫是轉成utf-8吧, 要轉成big5啊 09/21 21:31
5F:→ feng1123: @knuckles 兩種編碼都試過big5 到站內信也是無法顯示 09/21 21:42
6F:→ knuckles: mb_convert_encoding($content,'big-5','utf-8') 這樣呢 09/21 22:00
7F:→ feng1123: 我試了k大的方式,不過 "我" 字 到站內信變成 =A7=DA 09/21 22:50
8F:→ knuckles: 我是用phpmailer寄沒什麼問題 你可以先寄到Gmail 09/21 22:58
9F:→ knuckles: 用顯示原始郵件看內文是不是被編碼了 09/21 22:59
10F:→ knuckles: 那個 =A7=DA 應該是quoted-printable編碼 09/21 23:00
11F:→ feng1123: 謝謝k大指引方向,我再試試看 09/21 23:01