1 / 2
文档名称:

CactiEZ邮件报警的中文乱码问题解决.docx

格式:docx   页数:2
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CactiEZ邮件报警的中文乱码问题解决.docx

上传人:翩仙妙玉 2012/7/3 文件大小:0 KB

下载得到文件列表

CactiEZ邮件报警的中文乱码问题解决.docx

文档介绍

文档介绍:因为原程序模板内容存储在Mysql数据库中有255个字符限制,(常规监测报警模板)(Monitor宕机报警模板)中的内容为中文。测试发现邮件内容和标题全是乱码,查看两个文件的默认编码为ANSI(GB2312),查看Settings邮件报警插件的include\-8。
$this->Config["Mail"]["CharSet"] = "UTF-8";
解决方法:
1、,找到以下位置
$message = str_replace('<SUBJECT>', $subject, $message);
在这行下添加以下代码
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
用于保证UTF-8邮件的标题不是乱码。
-8(不带签名,无BOM)编码格式。UTF-8文件如果带有BOM会造成网页页头有空白行或空白页的出现,原因可能是因为BOM符被识别为黑点,页面开始执行时认为BOM符的黑点为结束符故停止执行后边的代码。
2、,找到以下位置/var//thold/includes/
宕机恢复通知模板$msg = $subject;
宕机报警模板$msg =...在这两行下分别添加代码
$msg = iconv("UTF-8", "GB2312//IGNORE", $msg);
上边这句代码代表把邮件正文编码由UTF-8转换为GB2312,ignore的意思是忽略转换时的错误,如果没有ignore参数,iconv在转换个别字符如"—"到gb2312时会出错,然后停止转换后边的字符。以上功能也可使用mb_convert_encoding代替,由于PHP5的WINDOWS版本中已经默认集成开启了iconv功能,所以比较起来更为简单高效一些。。
;extension=“;”