栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

UTF-8字符集不适用于javax.mail

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

UTF-8字符集不适用于javax.mail

对于所有电子邮件

有两个与mailing相关的系统属性,可能会简化您的代码。我实际上是在谈论此特定属性:

"mail.mime.charset"

mail.mime.charset
系统属性可以用来 指定默认MIME字符集
用于编码的单词和文本部分不另行指定一个字符集。通常,默认的MIME字符集是从
file.encoding
System属性中指定的默认Java字符集派生的。大多数应用程序无需显式设置默认的MIME字符集。如果用于邮件的默认MIME字符集与用于存储在系统上的文件的字符集不同,则应设置此属性。

如上文所述,默认情况下没有的值,

mail.mime.charset
并且使用文件编码(
file.encoding
属性)。

对于特定的电子邮件

但是,如果要为特定的电子邮件指定特定的编码,则可能应使用2参数

setSubject(subject,charset)
setText(text,charset)
方法。

如果那不起作用,则可能是您的输入在此之前已损坏。 换句话说,您可能使用了错误的编码来收集数据

哑剧类型很复杂

setContent(content, "UTF-8")
(其他消息来源)将只是不工作。只需查看此方法的签名即可:
setContent(Objectcontent, String mimetype)
哑剧类型和字符集是两个完全不同的东西。
恕我直言,您实际上应该使用
setText(...)
带有charset参数的方法之一。

但是,如果您坚持使用mimetype来设置charset

setContent(content,mimetype)
,那么请使用正确的格式。(不只是
"UTF-8"
,还包括
"text/plain;charset=UTF-8"
)。但更重要的 是,请注意,每种mime类型都有其自己的处理字符集的方式。

  • 如在指定的RFC-2046的默认字符集
    text/plain
    就是
    US-ASCII
    ,但可以用一个额外的字符集参数被否决。
  • 但是,在RFC-6657中明确指出,
    text/xml
    类型使用消息的内容确定字符集。 charset参数在这里将被忽略。
  • 并在RFC-2854中声明
    text/html
    应始终始终指定一个字符集。但是,如果不这样做,它将使用
    ISO-8859-1
    (=
    Latin-1
    )。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469513.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号