我正在 Java Play 框架中开发一个小型邮件客户端,并且我正在使用 SendGrid 来处理电子邮件。当收到一封电子邮件时,它会被发布到一个 url,然后我使用 JsonNode 解析发布的表单。现在的问题是该表单的“to”、“from”、“subject”字段由 SendGrid 自动转换为 UTF-8。现在问题来了:显然,电子邮件正文是用“ISO-8859-1”编码的。我需要将该字符串转换为“UTF-8”。我已经尝试了几种方法,但很可能我做错了什么,因为我总是得到包含重音/变音符号的法语或德语单词的奇怪字符(例如“Zürich”出现为“Z?rich”。我用于转换的代码如下:
byte[] msg = message.getBytes("ISO-8859-1");
byte[] msg_utf8 = new String(msg, "ISO-8859-1").getBytes("UTF-8");
message = new String(msg_utf8, "UTF-8");
请问您能否提出解决方案?非常感谢您!