如您於瀏覽器點選E-mail連結後,發生Outlook帶出之預設E-mail資訊為亂碼。可參考下方步驟調整瀏覽器之設定。
1.開啟IE瀏覽器,點選[工具]→[網際網路選項]。
2.取消勾選 [在mailto連結使用UTF-8] 設定。
此設定適用於各瀏覽器發生此問題時之問題排解,均可至IE8瀏覽器,參考上方步驟做設定,以排除此問題。
目前測試IE、Firefox、Chrome等瀏覽器,均可適用此設定。
設定資訊如上~~
如您於瀏覽器點選E-mail連結後,發生Outlook帶出之預設E-mail資訊為亂碼。可參考下方步驟調整瀏覽器之設定。
1.開啟IE瀏覽器,點選[工具]→[網際網路選項]。
2.取消勾選 [在mailto連結使用UTF-8] 設定。
此設定適用於各瀏覽器發生此問題時之問題排解,均可至IE8瀏覽器,參考上方步驟做設定,以排除此問題。
目前測試IE、Firefox、Chrome等瀏覽器,均可適用此設定。
設定資訊如上~~
FCKEditor 是個很讚的線上編輯器,這模組,可讓我們直接在線上,類似使用frontpage等工具一樣的操作,去編寫一個網頁。因此也被許多論壇所採用!如果有機會,看看FCKEditor的Source,會發現它基本上是個幾乎全部使用Javascript動態產生的環境。真的是嘆為觀止!今天要介紹的是一個在這編輯器上的客製功能。
因為我們慣用語言是中文,中文在編碼上要相當注意,不然時常會發生亂碼的問題,例如FckEditor的Link模組中,可讓我們加入MailTo功能,畫面如下:
而編輯器最後便會幫我們在網頁上,加入一個如:mailto:電子郵件地址?subject=主題&body=內文,的連結。而問題也就發生在主題與內文的部分,FCKEditor預設會幫我們把主題與內文的部分,做Javascript的Encode,Encode過得編碼為UTF-8的格式(FCKeditor預設使用encodeURIComponent方法做Encode),但這樣的連結,就必須考慮到讀取的介面是否支援了,例如outlook是否支援。經過測試,outlook 2010 以前的版本,均只支援讀取big5的編碼格式,而outlook 2010 則只支援使用unicode編碼。因此FCKEditor編輯器產生的MailTo連結,在使用outlook 2010開啟時,十分正常,但其他之前版本的outlook則全部變成亂碼。
因此有了今天這篇文章,如何在FCKEditor自訂,讓MailTo改使用Big5編碼。時做的步驟如下:
<%@ Page Language="C#" %> <% if (Request.QueryString["data"] != null) { try { string data = HttpUtility.UrlDecode(Request.QueryString["data"]); string big5encode = HttpUtility.UrlEncode(data, Encoding.GetEncoding("Big5")); Response.Write(big5encode); } catch { Response.Write(Request.QueryString["data"]); } } else { Response.Write(Request.QueryString["data"]); } %>新增第二個頁面FCKbig5decode.aspx,用於將字串做URLDecode。
<%@ Page Language="C#" %> <% if (Request.QueryString["data"] != null) { try { string data = Request.QueryString["data"]; string big5encode = HttpUtility.UrlDecode(data, Encoding.GetEncoding("Big5")); Response.Write(big5encode); } catch { Response.Write(Request.QueryString["data"]); } } else { Response.Write(Request.QueryString["data"]); } %>將以上兩個檔案,新增於路徑 fckeditor\editor\dialog\fck_link\ 下。
function Big5encodeURIComponent(str) { var xml = new ActiveXObject("MSXML2.XMLHTTP"); var data = encodeURIComponent(str); xml.open("get", "fck_link/FCKbig5encode.aspx?data=" + data, false); xml.send(); return xml.responseText; }第二段用來與Server端FCKbig5decode.aspx頁面互動,做字串的Decode
function Big5decodeURIComponent(str) { var xml = new ActiveXObject("MSXML2.XMLHTTP"); var data = encodeURIComponent(str); xml.open("get", "fck_link/FCKbig5decode.aspx?data=" + data, false); xml.send(); return xml.responseText; }
---------------------------------------------------------------------------------------------------------------------
[2010/07/22]最新訊息,上方有提到,outlook 2010已改 mailto 使用 utf-8 編碼格式。這是說法是錯誤的,說明如下:
正確來說,應該是在新版本的IE8中(不太確定是否是IE8、或更早版本、或其實在系統中亦可設定?!),加入了一個選項,截圖如下:
這個選項便影響整體OS中,所有由瀏覽器送出 mailto 連結給 outlook 時所使用的編碼方式!