这个和嵌入字体无关,如果没有对应的中文字体,一般默认是宋体。
很可能是编译的问题,我以前出现相同的问题,后来发现是因为缺少了一句代码,导致编译汉字出现问题。
第一,你在你的xml文件的最前面加一句:
<?xml version="1.0" encoding="utf-8" ?>
第二,打开你的flash文件,里面的格式大概如此,你可以尝试把省缺的代码拷贝到你的文件里:
System.useCodepage = true;//这句看看漏了没
var works_xml:XML = new XML();
works_xml.ignoreWhite = true;//这句也注意一下,如果漏了就补上
works_xml.load("works.xml");
works_xml.onLoad = function(success:Boolean) {
if (success) {
xmlRoot = works_xml.firstChild;
total = xmlRoot.childNodes.length;
thumb = [];//缩略图地址
image = [];//大图地址
for (i=0; i<total; i++) {
thumb[i] = xmlRoot.childNodes[i].childNodes[0].firstChild.nodeValue;
image[i] = xmlRoot.childNodes[i].childNodes[1].firstChild.nodeValue;
}
initThumbs();
} else {
trace("Error loading XML");
}
};
-----------------------------------------------------------------------------------------------------------------------------
如果你的ASP后台是用FSO来读取XML文件的,那么就有出现问题的可能;
因为采用FSO来修改文件,保存后的文件格式是ansi。
下面是一个FSO代码,
同样的,生产的文件内编码也是ansi。
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.OpenTextFile(Server.MapPath(filepath),2,True)
TextStr="<?xml version='1.0' encoding='UTF-8' ?>"
TextStr=TextStr&"<items>"
TextStr=TextStr&"</items>"
fout.Write TextStr
fout.close
只要有<?xml version='1.0' encoding='UTF-8' ?>而且必须为第一行!!!
而FLASH中也设置好System.useCodepage = true;
一般是不会出现乱码的。
-----------------------------------------------------------------------------------------------------------------------------
转载 flash+xml汉化作品 2009-12-18 22:45
http://hi.baidu.com/bofend/blog/item/99fab5ee4977921dfdfa3cd1.html
评论