【问题标题】:Hebrew chars in email sent with JavaMail appears as question marks使用 JavaMail 发送的电子邮件中的希伯来语字符显示为问号
【发布时间】:2009-04-16 11:58:23
【问题描述】:

可以做什么?

【问题讨论】:

    标签: email internationalization jakarta-mail hebrew


    【解决方案1】:

    你设置的字符编码是否正确?

    试试这个:

    mimemessage.setText(s6,"utf-8");
    

    你可能需要 utf-16,不记得我脑海中的 char set hebrew 是什么。

    在这里试试http://www.i18nguy.com/unicode/codepages.html

    【讨论】:

    • UTf-8 和 UTF-16 是编码,而不是字符集。两者都支持所有 Unicode 字符(因此出于所有实际目的,所有字符)
    【解决方案2】:

    晚了3年,但如果有人打这个,我找到了答案:

            MimeMessage message = new MimeMessage(mailSession);
            Multipart multipart = new MimeMultipart("alternative");
    
            BodyPart htmlPart = new MimeBodyPart();
            htmlPart.setContent(new String(messageHtml.getBytes("UTF8"),"ISO-8859-1"), "text/html");
            multipart.addBodyPart(htmlPart);
    
            message.setContent(multipart);
            message.setFrom(new InternetAddress(from));
            message.setSubject(subject, "UTF-8");
    

    诀窍是将我的 html 从 UTF-8 转换(它来自我的 message_iw.properties 的方式),然后将其转换为 ISO 格式,因此无需设置任何标题。

    【讨论】:

    • 按 ISO-8859-1 我相信您使用的是拉丁语?如果是,请说明您的回答与特定语言有关
    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 2018-12-18
    • 1970-01-01
    • 2012-04-27
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多