【发布时间】: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");
我真的不明白。谢谢你的帮助。 我希望清楚。
【问题讨论】:
-
无论如何,您都不应该依赖这样的全局设置。某些代码的作用取决于代码。我们无法在没有看到代码的情况下说出为什么某些代码会做它所做的事情,因为我们不是特别清醒的。