在做網頁的過程中以為很順利的可以馬上完成,沒想到在Flash在讀取xml時遇到中文卻變成亂碼。

讀英文是一定沒問題,遇到中文可能就是編碼的問題了,這是因為Flash Player 6或以上版本

預設編碼為Unicode,如果Flash載入非Unicode編碼時,(比如一個ANSI方式保存的文件)就會出現亂碼。

 

 

在網路上爬了很久的文才發現有以下解決辦法

1.把欲讀取的 xml 檔案存成 UTF-8 的格式。(可以透過notepad++來實現)

  這方法我試過,可是無效。

2.在匯出的網頁<head>後面加上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  這方法只是告訴瀏覽器以 UTF-8 的邊法方式來讀取網頁,無效!!

3.在 flash action script 裡加上 System.useCodepage = true;

  這個方法可以 work,我其他什麼都沒改,只改這樣可以有中文跑出來。不過這是最不得以的時候才這樣改,

  譬如你是以 Big5 為編碼的系統,如果有一個以其他不是 Big5 的系統來看,那他還是亂碼。

  而且這對程式的兼容性跟擴展性是很不好的。

4.使用 URLStream 進行傳輸,而不是使用 URLLoader。

  通過使用 URLStream 對象的 readMultiByte 方法進行帶碼轉換,這樣中文傳輸就不會有亂碼了。

 

========================================================

詳細的文章內容可以參考這篇:

http://bbs.blueidea.com/thread-2887754-1-1.html

arrow
arrow
    全站熱搜

    toyangel 發表在 痞客邦 留言(0) 人氣()