2

当我运行我的 JUnit 测试用例来调用发送邮件的独立应用程序时,字符会在邮件中正确显示,但是当这个应用程序通过它显示的线程在另一台机器上运行时?而不是真实的人物。我的这个程序发送使用unix的sendMail,远程机器使用POSTFIX。有人能想到问题的可能原因吗?

4

2 回答 2

1

您可能忘记将输出流的编码显式设置为 UTF-8。Java 的正常默认编码是一些平台本地的 8 位东西,它顽皮地用字符替换不合适的?字符。

您可能应该在您的程序本身中执行此操作。但是,您可能会通过传递‑Dfile.encoding=UTF‑8javac命令行而侥幸成功。只是取决于。

于 2011-01-25T20:10:37.087 回答
1

显示一些代码。但最有可能的是,您没有明确指定要使用的字符编码,并且一个平台上的默认值可以按您的预期工作,而另一个平台上的默认值则不能。

于 2011-01-25T19:41:21.933 回答