2011-12-29 61 views
0

我在body參數中使用了希伯來語文本的mailto鏈接。在mailto中編碼希伯來語:anchor元素

因爲我收到了亂碼。

示例的結果:

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

我可以通過在添加web configrequestEncoding="windows-1255" 解決此問題。 但這會在網站的其他部分導致不需要的副作用。

如何在郵件正文中獲得正確的希伯來文字?

+0

可以共享所產生的HTML頭部和的mailto錨 – rene 2011-12-29 16:20:59

+0

HEAD: ANCHOR: <類= 」​​A-的SendEvent「 ID = 」aEventMailto的「 href =」 的mailto:主體=שם解決方法:修復編碼問題27.12.11%0A版本:11.05.2011%0A版本:09.04.2014%0A註解:編碼在這裏也搞亂了%0A&subject =修正編碼問題27.12.11「> – CodeToad 2011-12-29 17:16:45

回答

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

謝謝你rene。我剛剛創建了一個使用相同頭部和錨點元素的新測試網站,並且沒有編碼問題。 Web配置中必須有一些東西,或者頁面上的其他元素導致問題。 – CodeToad 2011-12-30 08:18:22

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

工作對我很好:)

好運!

戴夫。