当我运行我的JUnit测试用例来调用发送邮件的独立应用程序时,字符在邮件中正确显示但是当这个应用程序通过它显示的线程在另一台机器上运行时?而不是真正的人物。 我的这个程序发送使用unix的sendMail,远程机器使用POSTFIX。 有人会想到可能的问题原因吗?
答案 0 :(得分:1)
显示一些代码。但最有可能的是,您没有明确指定要使用的字符编码,并且一个平台上的默认值按预期工作,而另一个平台上的默认值不会。
答案 1 :(得分:1)
您可能忘记将输出流的编码显式设置为UTF-8。 Java的普通默认编码是一些平台本地8位的东西,它顽皮地用?
个字符替换了不匹配。
您可能应该在程序中执行此操作。但是,您可能会在 javac 命令行上传递‑Dfile.encoding=UTF‑8
。只是取决于。