smitt
Новичок
PEAR: Mime, отправить письмо в кодировке UTF-8
Привет!
Нужно письмо отправить в кодировке UTF-8, делаю так
В результате получаю письмо, в котором (в исходнике) вижу следующее
Китайские символы заменились строкой -- _#26446;_#25=391;_#34281;
(Обратите внимание: в китайской строке я ампресанды заменил на знак подчёркивания "_", иначе форум показывает иероглифы в строке)
Вопрос:
Можно ли сделать как-то так, чтобы строки не кодировались сущностями, а были в теле письма как обычно, последовательности байт, что для этого нужно сделать? Может нужно использовать Content-Transfer-Encoding не quoted-printable, а что-то другое?
UPD Убрал вопрос про русскую строку, там просто глупая ошибка была.
Привет!
Нужно письмо отправить в кодировке UTF-8, делаю так
PHP:// получаемая из браузера строка, содержит китиайские иероглифы, в кодировке UTF-8 $china_hieros = '........'; $html = '<html><body>HTML version of email<br><br>'.$china_hieros.'<br><br>---<br>End.</body></html>'; $crlf = "\n"; $hdrs = array( 'From' => '[email protected]', 'Subject' => 'Test mime message' ); $mime = new Mail_mime($crlf); $mime->setHTMLBody($html); $aParam = array( "text_charset" => "UTF-8", "html_charset" => "UTF-8", "head_charset" => "UTF-8" ); $body = $mime->get($aParam); $hdrs = $mime->headers($hdrs); $mail =& Mail::factory('mail'); $mail->send('[email protected]', $hdrs, $body);
В результате получаю письмо, в котором (в исходнике) вижу следующее
Код:
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="UTF-8"
<html><body>HTML version of email<br><br>_#26446;_#25=391;_#34281;<br><br>---<br>End.</body></html>
(Обратите внимание: в китайской строке я ампресанды заменил на знак подчёркивания "_", иначе форум показывает иероглифы в строке)
Вопрос:
Можно ли сделать как-то так, чтобы строки не кодировались сущностями, а были в теле письма как обычно, последовательности байт, что для этого нужно сделать? Может нужно использовать Content-Transfer-Encoding не quoted-printable, а что-то другое?
UPD Убрал вопрос про русскую строку, там просто глупая ошибка была.