2009-11-06 8 views
0

J'ai reçu des informations dans mon application Flash à partir d'un script PHP. Flash l'a affiché comme: Radioart=Mia Frejman - Ett hjärta - Ett HjärtaProblème de codage Flash

La chaîne contient des symboles suédois. Comment je peux produire ceci normalement?

mieux Vladimir

Répondre

0

Il semble que la sortie de votre script php n'est pas utf-8, l'encodage par défaut pour le flash. Radioart = Mia Frejman - Ett hjärta - Ett Hjärta est la représentation latine-1 (ISO 8859-1) de la corde utf-8: Radioart = Mia Frejman - Ett hjärta - Ett Hjärta. Par conséquent, assurez-vous que le php délivre tout ce qui est correct dans utf-8, votre flash l'affichera également correctement.

0

Cela semble être un problème d'encodage. J'ai eu le même problème lors de l'analyse d'un fichier XML dans Flash. Le problème était que le fichier xml n'avait pas été sauvegardé dans utf-8. Peut-être vous devriez:

  1. Vérifiez votre php encodage
  2. Vérifiez l'encodage de votre éditeur de texte
  3. Est les données provenant d'une base de données? Vérifiez le codage de votre base de données
0

Votre connexion à la base de données peut également poser problème. Vous pouvez vérifier l'encodage de votre connexion en exécutant le script:

echo mysql_client_encoding($db); 

Et régler par

mysql_set_charset("utf8", $db); 

(dans le cas où vous utilisez MySQL bien sûr)

0

C'est un UTF-8 flux comme il serait représenté dans ISO-8859-1. Vous pouvez utiliser ByteArray pour décoder UTF-8 en une chaîne du côté client, si vous ne pouvez pas trouver d'autre moyen de le faire. Cet extrait semble faire la bonne chose (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");