twbsd.org
 
  Select Language: Home  SmbFTPD Forum 
Bug Tracker
Forum -> Bug Tracker
主旨會亂碼問題
User1 -
我發現一個問題, 若自定義系統名為中文時,當系統發信給用戶時, 主旨會亂碼.  估計用以下能解決吧, 供參考

function mail_list($mail_title,$message){
  global $link;
  global $dbmail;
  $mailstr="select name,email from $dbmail where status='yes'";
  $mailresult=mysql_query($mailstr,$link) or die('cc'.mysql_error());
  $headers="MIME-Version:1.0\r\n";
  $headers.="Content-type:text/html;charset=utf-8\r\n";
  $headers.="From: =?UTF-8?B?".base64_encode("圖資學�{討論區轉寄")."?= <libit@nttu.edu.tw>\r\n";
  while(list($admname,$admemail)=mysql_fetch_row($mailresult)){
    mail($admemail,"=?UTF-8?B?".base64_encode($mail_title)."?=",$message,$headers);
  }
}
Alex -
Thanks...
我會修這個問題
Alex Huang -
版本: Bug Tracker 2.5.4
當系統名稱為中文時,修改密碼所寄出的信件的主旨會變菱形問號,下列方法可處理喔!
Before
$subject = "Password changed on .$SYSTEM['program_name']."!!";
After
$subject = "Password changed on "."=?UTF-8?B?". base64_encode($SYSTEM['program_name'])."?="."!!";

Before
$subject = "Welcome to ".$SYSTEM['program_name']."!!";
After
$subject = "Welcome to "."=?UTF-8?B?". base64_encode($SYSTEM['program_name'])."?="."!!";

我這樣修正是可將主旨變成正常,但會不會有其他問題,還請Alex說明一下,謝謝!(我也是Alex)
Alex Huang -
上一個檔案是email_function.php
於feedback_email_function.php也有相同地方要修改!
修改如下:
before
$subject = "Password changed on ".$feedback_system_name."!!";
after
$subject = "Password changed on "."=?UTF-8?B?".base64_encode($feedback_system_name)."?="."!!";

before
$subject = "Welcome to ".$feedback_system_name."!!";
after
$subject = "Welcome to "."=?UTF-8?B?".base64_encode($feedback_system_name)."?="."!!";
Alex -
我的修法是:
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

Copyright © 2002-2025 Alex Wang from www.twbsd.org. All rights reserved.