【问题标题】:UTF-8 characters not getting displayed未显示 UTF-8 字符
【发布时间】:2011-06-15 10:31:11
【问题描述】:

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

【问题讨论】:

  • 您可能需要在应用程序中指定默认的 MIME 字符集!

标签: java unicode utf-8 sendmail postfix-mta


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 这被记录为“只读”属性。也就是说,JVM 确定平台默认值并通过此属性使其可用。也就是说,我相信这适用于 Sun JVM。
    • 尽管如此,它被记录为只读,所以如果这种方法在未来停止工作,请不要感到惊讶。
    猜你喜欢
    • 1970-01-01
    • 2011-07-17
    • 2013-05-15
    • 1970-01-01
    • 2015-02-23
    • 2011-11-04
    • 2013-04-09
    • 2012-01-11
    • 1970-01-01
    相关资源
    最近更新 更多