[英]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.