正在浏览:
1 名游客
系统发送的邮件产生乱码 |
||||
---|---|---|---|---|
新进会员
注册日期:
7/31 17:56 所属群组:
注册会员 等级: 1; EXP: 21
HP: 0 / 5 MP: 1 / 4 |
我这里用的是Xoops V2.0.16,系统发邮件给用户(注册激活邮件),可是用户信箱比如163,hotmail的显示出的都是乱码,查看了编码,确实是中文简体GB2312,请问这是哪里的问题呢?谢谢!
7/31 18:05
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
新进会员
注册日期:
7/31 17:56 所属群组:
注册会员 等级: 1; EXP: 21
HP: 0 / 5 MP: 1 / 4 |
有人可以帮忙么?谢谢!
8/6 18:15
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
网站管理员
注册日期:
2005/10/29 13:32 来自 北京
所属群组:
网站管理员 注册会员 ComSupp 推广组 等级: 35; EXP: 91
HP: 349 / 872 MP: 618 / 5215 |
文件htdocs\class\xoopsmailer.php
var $charSet = 'iso-8859-1'; 修改为: var $charSet = 'utf-8'; 或者: var $charSet = 'gb2312'; 根据你的网站编码选择设置。 如果你采用UTF-8,那么还应该继续解决PHPMailer邮件标题中文乱码:http://www.thedevlog.com/dev/log-29.html
8/6 18:49
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
高级会员
注册日期:
2004/7/16 16:12 所属群组:
注册会员 等级: 7; EXP: 59
HP: 0 / 164 MP: 25 / 1603 |
不需要根据http://www.thedevlog.com/dev/log-29.html改吧。EncodeHeader函数后面本来就有用base64或者quoted-printable编码的内容。(难道我们的class.phpmailer.php版本不一样? 我的1.73)
8/7 9:22
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
网站管理员
注册日期:
2005/10/29 13:32 来自 北京
所属群组:
网站管理员 注册会员 ComSupp 推广组 等级: 35; EXP: 91
HP: 349 / 872 MP: 618 / 5215 |
引文:
我重新做了一次测试,只要修改下述即可,不必对邮件标题做特殊处理。 文件htdocs\class\xoopsmailer.php var $charSet = 'iso-8859-1'; 修改为: var $charSet = 'utf-8'; 或者: var $charSet = 'gb2312';
8/7 10:35
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
高级会员
注册日期:
2004/7/16 16:12 所属群组:
注册会员 等级: 7; EXP: 59
HP: 0 / 164 MP: 25 / 1603 |
打开htdocs\class\xoopsmailer.php ,137行附近
$this->multimailer = new XoopsMultiMailer(); $this->reset(); 后面添加一行: $this->charSet = strtolower( _CHARSET ); $this->encoding = 'base64'; 原因是xoopsmultimailer.php指定了charset为系统的charset,但是这个xoopsmailer.php却破坏了,重新指定为了iso-8859-1。 为了在更多系统中兼容,将编码指定为base64。默认为8bit,一般系统中不会出现问题,但是还是base64编码一把稳妥。
8/7 11:43
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
高级会员
注册日期:
2004/7/16 16:12 所属群组:
注册会员 等级: 7; EXP: 59
HP: 0 / 164 MP: 25 / 1603 |
实为xoops bug
8/7 11:47
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
高级会员
注册日期:
2004/7/16 16:12 所属群组:
注册会员 等级: 7; EXP: 59
HP: 0 / 164 MP: 25 / 1603 |
更完美的解决办法是:
打开htdocs\language\schinese\xoopsmailerlocal.php和htdocs\language\schinese_utf8\xoopsmailerlocal.php 修改为: <?php class XoopsMailerLocal extends XoopsMailer { function XoopsMailerLocal(){ $this->XoopsMailer(); $this->charSet = strtolower( _CHARSET ); $this->encoding = 'base64'; } } ?>
8/7 13:24
|
|||
|
回复: 系统发送的邮件产生乱码 |
||||
---|---|---|---|---|
新进会员
注册日期:
7/31 17:56 所属群组:
注册会员 等级: 1; EXP: 21
HP: 0 / 5 MP: 1 / 4 |
多谢:)
8/7 14:13
|
|||
|
回复: 系统发邮件(注册激活)给用户,邮件却是显示乱码,求教 |
||||
---|---|---|---|---|
网站管理员
注册日期:
2005/10/29 13:32 来自 北京
所属群组:
网站管理员 注册会员 ComSupp 推广组 等级: 35; EXP: 91
HP: 349 / 872 MP: 618 / 5215 |
引文:
经D.J.确认,确实就是这样解决,今后新版xoops中文版发布时,将直接纳入。
8/8 17:21
|
|||
|
您不可查看帖子。
您不可发帖。
您不可回复。
您不可编辑自己的帖子。
您不可删除自己的帖子。
您不可发起投票调查。
您不可在投票调查中投票。
您不可上传附件。
您不可不经审核直接发帖。
您不可使用主题类别。
您不可以使用HTML语法。
您不可以使用签名档。