Flash HTTP://和FILE://协议之间的字符编码是否不同?

Flash HTTP://和FILE://协议之间的字符编码是否不同?,flash,http,character-encoding,protocols,local,Flash,Http,Character Encoding,Protocols,Local,我正在尝试在Flash中加载一些多语言内容 在当地,一切似乎都运转良好 我的本地文件位于HTML页面上,调用作为XML文档的外部内容。 内容包含CDATA标记中包含的汉字。 Flash在设备字体上正确显示汉字。 但是,当托管在嵌入JSP页面的web服务器上时,它不起作用: 将显示SWF并加载内容。 内容包含相同的数据,Flash中原始内容的痕迹表明,它确实是与本地环境中显示的相同的中国符号。 Flash显示的长数字看起来像每个汉字4个十六进制数字,而不是汉字,这是不正确的! 因此,我很好奇,如果

我正在尝试在Flash中加载一些多语言内容

在当地,一切似乎都运转良好

我的本地文件位于HTML页面上,调用作为XML文档的外部内容。 内容包含CDATA标记中包含的汉字。 Flash在设备字体上正确显示汉字。 但是,当托管在嵌入JSP页面的web服务器上时,它不起作用:

将显示SWF并加载内容。 内容包含相同的数据,Flash中原始内容的痕迹表明,它确实是与本地环境中显示的相同的中国符号。 Flash显示的长数字看起来像每个汉字4个十六进制数字,而不是汉字,这是不正确的! 因此,我很好奇,如果SWF托管在本地环境中,Flash解释XML数据的方式是否有差异file://... 或web服务器http://....

还有谁遇到过同样的问题吗?我正在搜索字符编码、unicode、UTF-8,但是本地版本可以正常工作,而web服务器不能正常工作,这是没有意义的。嗯

-编辑-

一些例子:

アリコ 成为65E5672C751F547D ネクスティア 变成30CD30AF30B930C630A330A2 アフラック 变成30A230D530E930C330AF
使用Firebug或Chrome Developer工具检查从服务器发送的HTTP头。mime类型正确吗

您确实在XML中正确设置了编码,不是吗

<?xml version="1.0" encoding="utf-8"?>
-编辑


System.useCodepage=true;,怎么样;?不过,这不是一个灵丹妙药。

因为两种情况下的痕迹都是相同的,这不排除flash之外的问题吗?如何显示它,显示一些代码!公司代码,无法在此插入。但这些痕迹只是在某种程度上相同。看起来,当它将XML转换为我们从中提取数据的标记的字符串时,这些痕迹表明中文符号在web版本上被更改为数字,而不是本地版本。希望我可以粘贴一些东西来澄清,但对不起!嗯,不,当我在开发人员检查器工具中打开它时,响应实际上显示的是汉字,没有数字,没有Unicode,只有符号本身。所以我不太确定我们是否应该先在服务器端将它们预编码为unicode?不过我们的内容是多语言的,所以听起来我们需要对所有内容进行unicode编码,但不确定这是正确的方法。添加了3个转换问题的示例。这可能就是实际的原因。它不包括在我们动态创建的XML中。如果XML中没有指定编码,则默认为UTF-8。因此,如果XML实际上是UTF-8编码的,那么这可能解释了为什么本地文件可以正常工作。但是,当通过HTTP连接传递XML时,HTTP内容类型头可能会根据其值优先,即使XML指定了编码,因此如果不匹配,XML将无法正确解析。嗯,好吧。我将把上面的XML声明放在将HTTP头设置为Content-Type的顶部:text/XML;字符集=UTF-8。也许Flash不够聪明,无法意识到标头指定它是UTF-8!当我将System.useCodepage=true时,它看起来更混乱,当它启用时,一些看起来奇怪的带有重音的拉丁字母会显示出来。