在服务器上部署WAR会以某种方式丢失UTF-8字符集编码?

时间:2016-05-05 15:20:23

标签: java linux utf-8 character-encoding raspbian

我在eclipse中在我的本地tomcat服务器上测试了我的应用程序,它工作得很好,但是一旦我在linux服务器(raspbian)上部署了应用程序的WAR,它就会用问号替换所有非ASCII字符

我相信我的应用程序中有3个重点可能会出错。它正在读取文件,写入文件和发送电子邮件。我确实得到了这样的印象:读取和写入文件并不是它失败的地方,因为输出文件正确地包含了所有字符,而在读写时我指定UTF-8作为要使用的编码,这是从输入文件,但发送的日志文件和电子邮件有问号而不是非ascii字符,所以我的假设是系统编码不是UTF-8而java使用它。我该如何解决?我无法找到一种方法来查找Linux系统的编码或如何更改它。

运行WAR的服务器是Tomcat 7服务器。

Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("user@service.com", "User"));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
            message.setSubject(subject);
            message.setText(text);

            Transport.send(message);

0 个答案:

没有答案