1 、查看Settings邮件报警插件的include\mailer.php中默认编码设置为UTF-8
$this->Config["Mail"]["CharSet"] = "UTF-8";<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


2
、修改thold_functions.php,找到以下位置
$message = str_replace('<SUBJECT>', $subject, $message);
在这行下添加以下代码
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
保证UTF-8邮件标题不乱码。

3 、修改polling.php,位置/var/www/html/plugins/thold/includes/polling.php
宕机恢复通知模板$msg = $subject; 在这两行下分别添加代码

$msg = iconv("UTF-8", "GB2312//IGNORE", $msg);

宕机报警模板$msg =...
$msg = iconv("UTF-8", "GB2312//IGNORE", $msg);
//
上边这句代码代表把邮件正文编码由UTF-8转换为GB2312ignore的意思是忽略转换时的错误,如果没有ignore参数,iconv在转换个别字符如"—"gb2312时会出错,然后停止转换后边的字符。

以上功能也可使用mb_convert_encoding代替,由于PHP5WINDOWS版本中已经默认集成开启了iconv功能,所以更为简单高效一些。如果使用mb_convert_encoding转换编码需要修改php.ini开启php_mbstring扩展。;extension=php_mbstring.dll去掉注释符“;”,需要重启Apache
$msg = mb_convert_encoding($msg, "GB2312", "UTF-8");
//
代表UTF-8 To GB2312其实php_mbstringmb_convert_encoding非常强大,它可以自动识别文件的编码,可以设置源编码格式为多种编码,根据设定的顺序进行转换,如果设定的源编码和目的编码一样则不改变字符串的编码格式。此处的用途比较单一所以采用小巧的iconv

4CactiEZ设置 (Mail / DNS)---From Name 乱码:

文件位置:/thold_functions.php
if ($from == '') {

              $from = read_config_option('thold_from_email');

              $fromname = read_config_option('thold_from_name');

                $fromname = iconv("UTF-8", "GB2312//IGNORE", $fromname); 需要添加代码。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />