簡體   English   中英

Javax郵件解碼特殊字符

[英]Javax mail decoding special characters

 BodyPart b = mp.getBodyPart(j);
        String mimeType2 = b.getContentType();

        Object o2 = b.getContent();

        System.out.println("O2 is " + o2);
        if ((o2 instanceof String))
        {
        return (String) o2;
        }

我正在使用此代碼從多部分郵件中讀取電子郵件的正文; 它工作正常,但顯示??? 用於主題和消息中的特殊字符。

我已經瀏覽過stackoverflow和googled,但看不到以utf-8格式解碼的直接方法。

我在mimeutility中使用了解碼文本,但仍顯示???

什么是正確的方法?

看到了? 無法將(Unicode)字符寫入具有有限編碼的字節時。

在Windows下, System.out通常使用單字節Windows ANSI編碼。

通常檢查代碼如何將文本( String/Reader )作為二進制數據( byte[]/OuputStream )輸出。

為了進行測試,可以將其寫入文件,您可以使用可以處理編碼的程序員編輯器(如JEdit或NotePad ++)進行檢查。

檢查您是否也沒有使用帶有編碼版本的重載方法。 避免使用FileWriter。

void dumpString(String s) {
    for (int i = 0; i < s.length(); ++i) {
        System.out.printf("%04x ", 0xFFFF & (int)s.charAt(i));
    }
    System.out.println(s);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM