Php 闪存编码问题
我在Flash应用程序中从php脚本中获得了一些信息。Flash显示为:Php 闪存编码问题,php,flash,character-encoding,Php,Flash,Character Encoding,我在Flash应用程序中从php脚本中获得了一些信息。Flash显示为:Radioart=Mia Frejman-Ett hjÃrta-Ett hjÃrta 字符串包含一些瑞典符号。如何正常输出 最好的 Vladimir看起来php脚本的输出不是utf-8,这是flash的默认编码 Radioart=Mia Frejman-Ett hjÃrta-Ett hjÃrta是utf-8字符串的拉丁-1(ISO 8859-1)表示形式:Radioart=Mia Frejman-Ett hjärta-Ett
Radioart=Mia Frejman-Ett hjÃrta-Ett hjÃrta
字符串包含一些瑞典符号。如何正常输出
最好的
Vladimir看起来php脚本的输出不是utf-8,这是flash的默认编码 Radioart=Mia Frejman-Ett hjÃrta-Ett hjÃrta是utf-8字符串的拉丁-1(ISO 8859-1)表示形式:Radioart=Mia Frejman-Ett hjärta-Ett hjärta
因此,请确保php在utf-8中输出的所有内容都正确,您的flash也将正确显示它。这似乎是一个编码问题。我在用flash解析xml文件时遇到了同样的问题。问题是xml文件没有保存在utf-8中。或许你应该:
您的数据库连接也可能是问题所在。 您可以通过运行以下脚本来检查连接的编码:
echo mysql_client_encoding($db);
并将其设置为
mysql_set_charset("utf8", $db);
(如果您运行的是MySQL)这是一个UTF-8流,如ISO-8859-1所示。如果无法找到其他方法,可以在客户端使用ByteArray将UTF-8解码为字符串。这段代码似乎做了正确的事情(tm)
var ba:ByteArray=newbytearray();
var receivedData:String=“Mia Frejman-Ett hjÃrta-Ett hjÃrta”;
对于(变量i:uint=0;i
var ba: ByteArray = new ByteArray();
var receivedData: String = "Mia Frejman - Ett hjärta - Ett Hjärta";
for (var i: uint = 0; i < receivedData.length; i++)
ba.writeByte(receivedData.charCodeAt(i));
ba.position = 0;
var decodedString: String = ba.readMultiByte(ba.length, "UTF-8");