2013-04-27 2 views
0

Я попытался прочитать эту проблему и проверил примеры, но havent нашел способ понять это. Когда мое подтверждающее письмо отправляется покупателю/продавцу, ÅÄÖ или другие специальные символы будут повреждены и как это изменить? Heres a скриншот: http://snag.gy/7IFDQ.jpgPHP PayPal IPN и UTF-8

Как вы видите, текст и тема повреждены.

Я, конечно же, был изменен на utf-8 в профиле PayPal. Это нечто другое. Я нашел путь после долгого долгого времени, чтобы исправить это для PDT, но теперь «та же» проблема подталкивает меня к стороне IPN.

Любой, кто знает, как точно это исправить? Я могу вставить IPN.php и Ipnhandler, если вы захотите.

ответ

0

Я узнал, как вы это делаете, вам нужно будет установить UTF-8 в самой почте и в расширении как в заголовке почты (Тема и т. Д.), Так и в сообщении по почте.

Heres образец кода, который отправляет почту на customr и копию к продавцу:

// send user an email with a confirmation 
    $firstname = $_POST['first_name']; 
    $lastname = $_POST['last_name']; 
    $to = filter_var($_POST['payer_email'], FILTER_SANITIZE_EMAIL); 
    $to2 = filter_var($_POST['[email protected]'], FILTER_SANITIZE_EMAIL); 
    $subject = "Tack för Ert köp!/Thank you for your order!"; 
    $subject2 = "(COPY) Tack för Ert köp!/Thank you for your order!"; 
    $headerFields = array(
    'Date: ' . date('r', $_SERVER['REQUEST_TIME']), 
    "Subject: =?UTF-8?Q?".imap_8bit($subject)."?=", 
    "From: {$to}", 
    "MIME-Version: 1.0", 
    "Content-Type: text/html;charset=utf-8" 
    ); 
    $headerFields2 = array(
    'Date: ' . date('r', $_SERVER['REQUEST_TIME']), 
    "Subject: =?UTF-8?Q?".imap_8bit($subject2)."?=", 
    "From: {$to}", 
    "MIME-Version: 1.0", 
    "Content-Type: text/html;charset=utf-8" 
    ); 
    $message = "$firstname $lastname, $payer_email <br /> 
MESSAGE TO CUSTOMER; 
    $message2 = "$firstname $lastname, $payer_email <br /> 
MESSAGE TO CUSTOMER 
(NOTE: THIS IS A COPY)"; 
    mail($to, $subject, $message, implode("\r\n", $headerFields)); 
    mail($to2, $subject2, $message2, implode("\r\n", $headerFields2)); 
    } 

Что происходит в том, что $ headerFields "MIME-Version: 1.0", "Content-Type: text/html;charset=utf-8" наборы UTF-8 для сообщения о почте. Он применяется даже к заголовку, за исключением объекта Subject, который должен быть установлен отдельно: "Subject: =?UTF-8?Q?".imap_8bit($subject)."?=",