我正在Java Play Framework中開發一個小型郵件客戶端,並使用SendGrid作爲電子郵件。收到電子郵件後,它會發布到一個URL,然後使用JsonNode解析發佈的表單。現在問題是該表單的「to」,「from」,「subject」字段被SendGrid自動轉換爲UTF-8。現在出現這個問題:顯然,電子郵件正文是在「ISO-8859-1」中編碼的。我需要將該字符串轉換爲「UTF-8」。我已經嘗試過幾種方法,但最可能的是我做的事情非常錯誤,因爲我總是會爲包含重音/變音符號的法語或德語單詞生成奇怪的字符(例如「Zürich」以「Z?rich」出現。我使用的轉換代碼如下:?Play Framework - 通過SendGrid接收電子郵件 - 電子郵件正文的字符編碼
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");
你能,請提出一個解決方案非常感謝你提前
什麼是「信息」?是否http://stackoverflow.com/questions/652161/how-do-i-convert-between-iso-8859-1-and-utf-8-in-java/1559761#1559761爲你工作? – Schleichardt
我從發佈的表單(通過SendGrid)獲取String消息。不,我已經試過了。所以根據電子郵件標題,我直接給出了這個消息字符串,它在ISO-8859-1中。我必須將其轉換爲UTF-8,以便將其存儲在數據庫中。 – franciscb
你可以把電子郵件標題作爲字節數組嗎?爲了幫助你,你的問題應該很容易重現。 – Schleichardt