مشکل عدم پشتیبانی از زبان فارسی در ارسال ایمیل
سلام.یه مشکلی دارم.وقتی از طریق این فرم میخوام اطلاعات رو بفرستم،وقتی تو ایمیل میاد زبان فارسی پشتیبانی نداره.نمیشه خوند.
اینم فایل send.php
<?php
$dir = dirname(__FILE__).'/';
function _is_img($type = '')
{
$arr = array('bmp' => 'image/bmp',
'gif' => 'image/gif',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'png' => 'image/png',);
return in_array($type , $arr);
}
$msg = '';
foreach($_POST['data'] as $key=>$val)
$msg .= "$key : $val \n";
include_once('./class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
//$body = $mail->getFile('contents.html');
//$body = eregi_replace("[\]",'',$body);
$mail->From = !empty($_POST['data']['Email'])? $_POST['data']['Email']:'andy.robo@ymail.com';
$mail->FromName = $_POST['data']['name'];
$mail->Subject = "andy.robo@ymail.com";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($msg);
$mail->AddAddress("andy.robo@ymail.com", "admin");
$unlink = array();
for($i=1;$i<6;$i++)
{
if( !_is_img($_FILES["file_{$i}"]["type"]))
continue;
move_uploaded_file($_FILES["file_{$i}"]["tmp_name"],$dir.$i. $_FILES["file_{$i}"]["name"]);
@chmod($dir.$i. $_FILES["file_{$i}"]["name"],777);
$mail->AddAttachment($dir.$i. $_FILES["file_{$i}"]["name"]);
$unlink[] = $dir.$i. $_FILES["file_{$i}"]["name"];
}
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "ایمیل ارسال شد";
}
//echo $email->print_debugger();
foreach( (array) $unlink as $file)
@unlink($file);
چه کنم؟
پاسخ : مشکل عدم پشتیبانی از زبان فارسی در ارسال ایمیل
چک کنید که همین فایل php با انکدینگ utf-8 سیو شده باشه و همچنین کد زیر رو تو تگ <head> ایمیلی که ارسال میشه بزارین.
کد HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
پاسخ : مشکل عدم پشتیبانی از زبان فارسی در ارسال ایمیل
انکودینگ آبجکت رو هم باید utf-8 کنید ،
به این صورت :
کد PHP:
$mail->charset = "utf-8";
پاسخ : مشکل عدم پشتیبانی از زبان فارسی در ارسال ایمیل