2011-12-29 4 views
0

У меня есть ссылка mailto с текстом на иврите в параметре body.кодировка иврит в mailto: анкерный элемент

В результате я получаю тарабарщину.

пример результата:

׳©׳ ׳”׳׳™׳¨׳•׳¢: 
׳׳×׳—׳™׳: 11.05.2011 
׳׳¡׳×׳™׳™׳: 09.04.2014 
׳”׳¢׳¨׳•׳× 

я могу это исправить, добавив requestEncoding="windows-1255" в web config. , но это приводит к нежелательным побочным эффектам в остальной части сайта.

Как я могу получить правильный текст на иврите в теле письма?

+0

вы можете поделиться произведенную HTML голову и MailTo якорь – rene

+0

ГОЛОВА: ЯКОРЬ: <класс = "а-SendEvent" ID = "aEventMailto" HREF =" электронная почта: тело = שם האירוע: исправление проблемы с кодировкой 27.12.11% 0A מתחיל: 11.05.2011% 0A מסתיים: 09.04.2014% 0A הערות: кодировка также была испорчена здесь% 0A & subject = исправление проблемы с кодировкой 27.12.11 "> – CodeToad

ответ

0

попробовать это в HREF:

mailto:?body=&#1513;&#1501; &#1492;&#1488;&#1497;&#1512;&#1493;&#1506;: fixing the encoding issue 27.12.11%0A&#1502;&#1514;&#1495;&#1497;&#1500;: 11.05.2011%0A&#1502;&#1505;&#1514;&#1497;&#1497;&#1501;: 09.04.2014%0A&#1492;&#1506;&#1512;&#1493;&#1514;: encoding was messed up here as well%0A&subject=fixing the encoding issue 27.12.11 

Я играл с этой ссылке: http://www.unicodetools.com/unicode/convert-to-html.php

+0

спасибо Рене. Я просто создал новый тестовый сайт, используя тот же элемент head и anchor, и проблема с кодировкой не существует. В веб-конфигурации или другом элементе страницы должно быть что-то, что вызывает проблему. – CodeToad

0

вы должны кодировать текст на иврите тело перед отправкой электронной почты.

т.е:

final MimeMessage msg = new MimeMessage(session); 
    msg.setText(message, "utf-8"); 
    msg.setHeader("Content-Type", "text/plain; charset=UTF-8"); 

    MimeBodyPart mbp1 = new MimeBodyPart(); 
    mbp1.setDataHandler(new DataHandler(new ByteArrayDataSourcemessage.toString), "text/html"))); 
    mbp1.setContent(new String(message.getBytes("UTF8"),"ISO-8859-8-i"), "text/html"); 

    Multipart mp = new MimeMultipart(); 
    mp.addBodyPart(mbp1); 
    msg.setContent(mp, "text/html"); 

работал отлично для меня :)

удачи!

Dave.