2009-11-06 64 views
0

我从我的Flash应用程序中获取了一些来自php脚本的信息。 Flash将其显示为:Radioart=Mia Frejman - Ett hjärta - Ett Hjärta闪存编码问题

该字符串包含一些瑞典符号。我如何能够正常输出?

最好 弗拉基米尔

回答

0

好像你的PHP脚本的输出不是UTF-8,闪光的默认编码。 EartHjärta是utf-8字符串的拉丁语-1(ISO 8859-1)表示形式:Radioart = Mia Frejman - Etthjärta - EttHjärta。

因此,请确保php输出utf-8中正确的所有内容,您的闪存也会正确显示。

0

这似乎是一个编码问题。在解析Flash中的xml文件时,我遇到了同样的问题。问题是xml文件没有保存在utf-8中。也许你应该:

  1. 检查你的PHP编码
  2. 检查你的文本编辑器
  3. 的编码是从数据库里的数据?检查您的数据库编码
0

您的数据库连接也可能是问题。 您可以通过运行该脚本检查连接的编码:

echo mysql_client_encoding($db); 

而且通过

mysql_set_charset("utf8", $db); 

设置(如果你正在运行的进程的MySQL的)

0

这是一个UTF-8如ISO-8859-1所示。如果您无法找出任何其他方式来执行此操作,则可以使用ByteArray将UTF-8解码为客户端的字符串。这段代码似乎做了正确的事情(tm)。

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");