【问题标题】:Encoding of javamail is driving me Crazyjavamail的编码让我发疯
【发布时间】:2014-02-02 09:01:29
【问题描述】:

我已经构建了一个简单的 java 类来测试带有重音符号的邮件发送。

我从一个 UTF8 postgres 数据库中取出一个字符串,并将其导出到一个文件中,然后通过邮件发送。 我看到了愚蠢的事情: 1)当我在没有 -Dfile.encoding=UTF-8 的情况下执行时,文件中的字符串是好的,但邮件是 KO 2)当我使用 -Dfile.encoding=UTF-8 执行时,文件中的字符串为 KO,但如果我不指定字符集(messageBodyPart.setContent( sb.toString(), "text/html") ; 3) 当我使用 -Dfile.encoding=UTF-8 执行时,文件中的字符串为 KO,但如果我指定字符集 (messageBodyPart.setContent( sb.toString(), "text/html; charset=UTF -8");

我真的不明白。谢谢你的帮助。 我希望清楚。

【问题讨论】:

  • 无论如何,您都不应该依赖这样的全局设置。某些代码的作用取决于代码。我们无法在没有看到代码的情况下说出为什么某些代码会做它所做的事情,因为我们不是特别清醒的。

标签: java email encoding utf-8


【解决方案1】:

使用mail.mime.charset 系统属性设置JavaMail 字符集。可以拨打MimeUtility.getDefaultJavaCharset()查看是否设置正确。

【讨论】:

    猜你喜欢
    • 2011-05-30
    • 2012-11-02
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2012-03-14
    相关资源
    最近更新 更多