在做網頁的過程中以為很順利的可以馬上完成,沒想到在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 方法進行帶碼轉換,這樣中文傳輸就不會有亂碼了。
========================================================
詳細的文章內容可以參考這篇:
留言列表