关于flash读取asp动态xml内容时出现的乱码的问题

分类:Flash_Flex_AIR| 发布:camnprbubuol| 查看: | 发表时间:2011/1/17

扁头大熊猫

2007-08-28, 09:29 AM

本地测试完全没问题, 一旦把xml用asp输出就有乱码问题了(可以刷新几次解决),把asp动态生成的内容复制出来存为xml文件乱码又没有了。 大家碰到过这个问题吗? 困扰我好久了。


love黄家驹

2007-08-28, 09:56 AM

//在Flash代码帧中加入以下代码
System.useCodepage = true;


扁头大熊猫

2007-08-28, 10:40 AM

这个我加过的阿, 但是还是乱码。
http://60.63.205.70/index/index_cn.asp 的最新动态那些文字
http://60.63.205.70/news/process_xml.asp 这个是xml文件


扁头大熊猫

2007-08-28, 10:50 AM

看那些乱码的内容貌似没把process_xml.asp里的内容load完整就解析了,为此我加了个loading但是还不行。 :(


love黄家驹

2007-08-28, 11:26 AM

//把XML里的这句去掉就OK了.
<?xml version=’1.0’ encoding=’utf-8’?>
// 或是把它改成下面这句就行了,呵呵~
<?xml version=’1.0’ encoding=’GB2312’ ?>


扁头大熊猫

2007-08-28, 01:19 PM

谢谢 班主
我现在把System.useCodepage = true 删除, xml的开头写gb2312
在IE缓存清空的情况下, 显示正常了, 但是点其他页面再回来看就又老问题. :mad:


love黄家驹

2007-08-28, 01:34 PM

//这句不能删除呀,汗~
System.useCodepage = true 删除
//直接把 <?xml version=’1.0’ encoding=’utf-8’?> 这句换成下面那句吧....
<?xml version=’1.0’ encoding=’GB2312’ ?>
自己再检查一下配置文件,可能有存在一些小的错误.... 也可以找一下XML的书写格式,跟你自己写的作一下比较


扁头大熊猫

2007-08-28, 06:43 PM

现在问题妖了, 干净的电脑第一次访问是好的, 但是再次访问就会出现编码错误的乱码, 能否让flash每次都去读网上的而不直接访问本地的缓存


egoldy

2007-08-28, 10:16 PM

在载入asp脚本的时候,给服务器多施加一些压力.比如 some.asp?random="webstudio"; 而实际上所传递的random是不存的,也不会有webstudio这个值,这样就会向服务不断发送请求,可以保证你的asp总是网上最新的.


扁头大熊猫

2007-08-30, 11:38 AM

感谢各位老大,问题全部解决了, xml的asp输出要规范最好不要用’来代替" .
System.useCodepage=true 我都删除了, 一加这句话就乱码, 加载动态生成的内容就如egoldy说的那样给服务器点压力,我用Math.random()来给他施加压力 :o


乖乖

2007-08-30, 11:52 AM

其实给熊猫个建议,UTF8格式是趋势,因为多国语言化最好的还是UTF格式,显示各国字符都可以,所以建议你写XML时使用UTF-8格式
在ASP的开头加上
<%@ CodePage="65001" %>
标志该ASP文件以UTF-8编码,然后把ASP用记事本另存为UTF-8格式
同时在FLASH里面把System.useCodepage=true删除,指示FLASH以UTF-8编码解析XML
要防止ASP的缓存除了鹰老大所说的“施加压力”外,使用Response.Expires = -1使ASP产生的XML生存期为无效,也是可行的,你可以试试。
还有就是XML的书写规范也要考虑。 :)


扁头大熊猫

2007-08-30, 01:24 PM

对啊, 我都用了utf-8的, 乱码问题主要是asp的原因,除了要加你说的那些外最好还要加上
<% Response.ContentType = "text/xml" %>
<% Response.charset = "utf-8" %>

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/flash-air/168.html