[請益] 外部寄信給 ptt 用戶,站內信中文亂碼

看板PHP作者 (feng)時間10年前 (2015/09/21 18:12), 編輯推噓0(0011)
留言11則, 2人參與, 最新討論串1/1
最近在做網站功能,是需要從外部寄信給 ptt 用戶 但發現內文只要有中文就會變成亂碼 標題的中文字則可以正常顯示沒問題 初步查詢了一下 pttbug 版也有人在詢問此問題 通常這種情況應該是編碼問題 目前想確認這部分是 ptt 站方 mail server 問題 還是程式需要做什麼編碼上的調整 // sendgrid $mail ->addTo("id.bbs@ptt.cc") //(id 為 ptt 帳號) ->setFrom("you@youremail.com") ->setSubject("測試寄信") ->setText("測試寄信"); $res = $sendgrid->send($mail); echo $res->getCode(); 用 gmail 寄信調整為 plain text mode 寄到 ptt 站內信 內文有中文字一樣也是亂碼C -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.98.71 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1442830378.A.D4D.html

09/21 19:31, , 1F
應該是要轉為big5編碼
09/21 19:31, 1F

09/21 20:38, , 2F
<?=mb_convert_encoding($str, "UTF-8", "auto");?>
09/21 20:38, 2F

09/21 20:39, , 3F
我有使用上面的方式將文字編碼轉換,不過還是不行 ~.~
09/21 20:39, 3F

09/21 21:31, , 4F
上面那樣寫是轉成utf-8吧, 要轉成big5啊
09/21 21:31, 4F

09/21 21:42, , 5F
@knuckles 兩種編碼都試過big5 到站內信也是無法顯示
09/21 21:42, 5F

09/21 22:00, , 6F
mb_convert_encoding($content,'big-5','utf-8') 這樣呢
09/21 22:00, 6F

09/21 22:50, , 7F
我試了k大的方式,不過 "我" 字 到站內信變成 =A7=DA
09/21 22:50, 7F

09/21 22:58, , 8F
我是用phpmailer寄沒什麼問題 你可以先寄到Gmail
09/21 22:58, 8F

09/21 22:59, , 9F
用顯示原始郵件看內文是不是被編碼了
09/21 22:59, 9F

09/21 23:00, , 10F
那個 =A7=DA 應該是quoted-printable編碼
09/21 23:00, 10F

09/21 23:01, , 11F
謝謝k大指引方向,我再試試看
09/21 23:01, 11F
文章代碼(AID): #1L_zWgrD (PHP)
文章代碼(AID): #1L_zWgrD (PHP)