кодирование иврита в mailto: элемент привязки

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

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

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

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

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

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


person CodeToad    schedule 29.12.2011    source источник
comment
можете ли вы поделиться полученным html-заголовком и привязкой mailto   -  person rene    schedule 29.12.2011
comment
HEAD: ‹head›‹title› ‹/title›‹meta http-equiv=Content-Language content=he-IL /›‹meta http-equiv=Content-Type content=text/html; charset=utf-8 /› ‹/head› ANCHOR: ‹a class=a-sendEvent id=aEventMailto href=mailto:?body=שם האירוע: исправление проблемы с кодировкой .2014%0Aהערות: и здесь кодировка была перепутана%0A&subject=исправление проблемы с кодировкой 27.12.11›   -  person CodeToad    schedule 29.12.2011


Ответы (2)


попробуйте это в своем href:

mailto:?body=שם האירוע: fixing the encoding issue 27.12.11%0Aמתחיל: 11.05.2011%0Aמסתיים: 09.04.2014%0Aהערות: 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

person rene    schedule 29.12.2011
comment
спасибо рене. Я только что создал новый тестовый веб-сайт, используя тот же элемент заголовка и привязки, и проблем с кодировкой нет. В веб-конфигурации или другом элементе страницы должно быть что-то, что вызывает проблему. - person CodeToad; 30.12.2011

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

i.e:

    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");

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

удачи !

Дэйв.

person David Gidony    schedule 16.09.2014