我在body参数中有一个带有希伯来语文本的mailto链接。
结果我得到了胡言乱语。
示例结果:
׳©׳ ׳”׳׳™׳¨׳•׳¢:
׳׳×׳—׳™׳: 11.05.2011
׳׳¡׳×׳™׳™׳: 09.04.2014
׳”׳¢׳¨׳•׳×
我可以通过添加requestEncoding="windows-1255"
来解决此问题
在web config
。
但这会在网站的其他部分引起不必要的副作用。
如何在邮件正文中获得正确的希伯来文字?
答案 0 :(得分:0)
在你的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
答案 1 :(得分: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");
对我来说很好:)
祝你好运!戴夫。