English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

JavaMail 附加檔案中文檔名 亂碼問題

在網路上找了好多方法
但都沒有成功…

亂碼問題已經困擾好幾個禮拜了@@

請救救我吧>"<

2006-01-14 19:05:23 · 1 個解答 · 發問者 新竹網頁設計 3 in 電腦與網際網路 程式設計

用Outlook製作ㄧ封有附加檔案的電子郵件
檔名要中文的喔
然後拉出來變成一個檔案

如果我去找郵件的在硬碟上的位置是在
C:\Documents and Settings\DANNY\Local Settings\Application Data\Identities\{D14FC76C-BA81-4648-BA23-13B9811C779A}\Microsoft\Outlook Express\寄件備份.dbx
所以*.dbx 包含太多郵件 沒有辦法找到單一特定郵件
請問一下要如何作『拉出來』的動作?

2006-01-21 02:58:03 · update #1

1 個解答

中文檔名之所以會亂碼是因為你沒有進行編碼
只要是英文以外的語言
都必須使用特殊的格式來設定檔名
舉例來說有個檔名叫做 "測試.doc"
實際上在郵件裡是這樣表示的 "=?big5?Q?=B4=FA=B8=D5.doc?="
為什麼要這麼做呢?
因為這樣做可以讓應用軟體知道你的內容是哪一種語言
所以會將你的檔名字串先加以編碼再處理
其實 JavaMail 有提供這樣的轉碼工具給你使用喔
詳細步驟我不贅述
給你一個線索去查查看吧

1. 去 J2EE 的 API 網頁
(http://java.sun.com/j2ee/1.4/docs/api/index.html)
2. 看看這個類別的用途
(javax.mail.internet.MimeUtility)

重點:
研究一下什麼叫做 RFC822 和 RFC2047
研究的方法很簡單
用Outlook製作ㄧ封有附加檔案的電子郵件
檔名要中文的喔
然後拉出來變成一個檔案
再用記事本打開這個檔案
你就會知道ㄧ切問題的發生原因了

2006-01-20 19:38:48 · answer #1 · answered by 小璋丸 5 · 0 0

fedest.com, questions and answers