ASP.Net 的 UTF-8 轉 Big5

由於 .Net Framework 以 UTF-8 為預設的編碼,有時遇到需要輸出 Big5 時,就必需多做點手腳。


以下的範例是用 ASP.Net 將 UTF-8 轉為 Big5 的字元,並且寫出到網頁上。此時就不受 Web.Config 的設定限制了。(語法為 VB.Net)

Response.ContentEncoding = System.Text.Encoding.GetEncoding("big5")
Dim strUtf8 As Byte() = Encoding.Unicode.GetBytes(BarcodeBody)
Dim strBig5 As Byte() = Encoding.Convert(Encoding.Unicode, Encoding.Default, strUtf8 )
Response.BinaryWrite(strBig5)

由於 Convert 出來的是 byte[] ,所以注意上面用的是 BinaryWrite ,不是一般常用的 Write。

若還有興趣深入研究 .Net Framewrok 的轉碼,可以參考:
http://www.thecodeproject.com/useritems/Chinese_Style_Converter.asp

上面那個網址有詳細的做法及轉碼平台的建置,還能透過 Web Service 來做轉碼,教學跟實用都兼具。

如果是其它語言平台想在短時間內做好轉碼,也可以購買Chilkatsoft 的 Charset 商業元件,支援的字集也很多,中文編碼當然也在其中了,有需要可以多多支持。

.Net 元件:
http://www.chilkatsoft.com/Charset-DotNet.asp

ActiveX 元件:
http://www.chilkatsoft.com/Charset-ActiveX.asp

C++ 函式庫:
http://www.chilkatsoft.com/Charset-Library.asp

其它產品總覽:
http://www.chilkatsoft.com/products.asp

3 comments On ASP.Net 的 UTF-8 轉 Big5

  • 請問一下
    如果ASP.NET在WEBCONFIG裡用UTF-8
    是不是有可能讓JAVASCRIPT寫繁體中文資料到SQL時變成UNICODE呢?
    如果是的話,可否有何方式避免?
    謝謝。

  • SYS,

    何謂「JAVASCRIPT寫繁體中文資料到SQL時變成UNICODE」?

    這跟用 web.config 用 UTF-8 有什麼關連嗎?

  • 感謝大大,解決我輸出Excel編碼問題~~
    網路上很多都是從文字的編碼下手…卻沒有人從輸出文件的編碼格式下手…感謝大大分享此篇文章,解決我的問題!!

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar