![]() |
mai 21, 2003Utilisation de caractères accentués dans Flash MXUne discussion sur un forum, m’amène à écrire ici un petit tutorial sur l’encodage de données pour Flash MX. C’est un problème qui revient souvent et la solution est peu documentée. Vous avez un problème à charger des fichiers XML contenant des caractères spéciaux tels que nos accents accentués français ? Ne cherchez plus, voici la recette! :) Avec Flash MX, plusieurs trucs ont changés et plusieurs personnes se sont retrouvées avec des fichiers Flash 5 qui ne s'affichaient plus correctement après conversion à MX. Cela est du à l'introduction du support Unicode dans Flash MX. Les applications plus anciennes comme Flash 5 utilisent ce qu'on appelle le "code page" du système d'opération. Unicode est un "set" de caractères international comprenant tous les caractères de tous les langages. Cela devient de plus en plus standard dans les applications modernes. Pour régler le problème d'affichage de caractères spéciaux, plusieurs personnes recommandent, à tort, d’utiliser la ligne de code suivante dans le fichier Flash : Il ne faut pas utiliser useCodepage!! À prime abord, cette ligne semble régler comme par magie tous les problèmes, mais c'est faux! Cela force le player Flash à utiliser l'encodage du système sur lequel il roule plutôt que l'Unicode, comme le faisait Flash 5. Le danger est que les visiteurs n'ont pas toujours le même encodage que vous. Les caractères sont affichés avec l'encodage du système du visiteur et non selon un standard qui fonctionnera sur tous les systèmes. Même si la majorité des systèmes utilisent CP1252 (WinLatin1), il reste tout de même un danger que vos données soient mal affichées pour quelqu'un à l'étranger ou avec une mauvaise configuration. useCodepage est une solution qui peut sembler facile, mais qui ne règle pas le problème pour tout le monde et qui n'est pas viable à long terme puisque l'Unicode prend de plus en plus de place et que useCodepage risque de disparaître dans les prochaines versions de Flash. Il est donc recommandé de pas y toucher et de le laisser à sa valeur par défaut: false. Si vous êtes vraiment mal prit, par exemple si vous voulez afficher un fichier externe sur lequel vous n'avez pas le contrôle, sachez que useCodepage peut-être mit à true temporairement pour le traitement d'un fichier et remit à false par après. Alors que faire ? La solution est assez simple, il faut que les données reçues par Flash soient encodées en Unicode (UTF-8 ou UTF-16). Dans votre fichier XML, utiliser l'entête suivante: Il faut aussi s'assurer que le fichier est sauvegardé avec l'encodage Unicode. Pour cela, je recommande d'utiliser un éditeur tel que UltraEdit qui a une fonction de conversion "ASCII to Unicode". Ou sur Mac, BBEdit a l'option d'encoding dans les "saving options". Pour de l'ASP, si on veut encoder en Unicode, mettre ceci en header du fichier asp: En PHP, utiliser ceci: utf8_encode(maString) Voilà! Des questions ? Quelques liens: Charte de caractères de CP1252 vers Unicode Liste complète des encodages de Windows Commentaires
Aussi je viens de me souvenir que NotePad sur Windows 2000 et XP a l'option de sauvegarder en UTF-8. Quand on fait "Save as...", l'option "Encoding" est au bas de la fenêtre. Posté par: | mai 21, 2003 04:26 PMEt sur Mac (OSX), on peut aussi choisir l'encoding avec SimpleText... Je travaille sur Mac dans un environnement de programmeurs ASP (évidemment sous Windows). Puisque ceux-ci utilisent toujours le ISO-8859-1, le problème des caractères venaient toujours nous hanter lorsque j'utilisait un de leur fichier XML ou que j'en créait un pour eux à partir de Flash. Nous avons trouver la même solution il y a quelques temps et tout est rentré dans l'ordre. Evidemment lorsque le XML sert qu'à Flash, j'utilise le UTF-8. Je me demande encore pourquoi on utilise autre chose que ca aujourd'hui? J'ai cru comprendre que SQL Server utilisait ISO-8859-1, ce qui justifie leur choix d'encoding. Dans notre cas, on reset l'encoding à la fin de la session pour ne pas que ca reste toujours à UTF-8 pour le reste des utilisations du XML. Dommage qu la documentation sur le web à ce sujet est assez rare. Comme si les francophones n'utilisaient pas le XML! Et les anglophones suggèrent simplement le system.useCodepage = true; Merci Stef, c'est très clair comme explications! Merci beaucoup pour ce tutorial..C'est très intéressent surtout la partie sur le system.useCodepage De rien, content que ça ait aidé quelqu'un. Lolotte, SQL Server 2000 a le support Unicode maintenant. Moi c'est le contraire, je travaille sur PC entourés de designers Mac. Mais j'ai un mac aussi... Posté par: | mai 22, 2003 10:18 AMEnfin une explication claire !! Hello, Intéressant mais j'ai toujours un problème de caractères accentués qui passent pas... Comprend pas??? Mes textes dans flash sont htmltext et il me saute tous les caractères accentués (ê, ô, ...) Helpppppp....... Posté par: | octobre 20, 2003 09:04 AMHello, Intéressant mais j'ai toujours un problème de caractères accentués qui passent pas... Comprend pas??? Mes textes dans flash sont htmltext et il me saute tous les caractères accentués (ê, ô, ...) Helpppppp....... Posté par: | octobre 20, 2003 09:04 AMMmmm... il faut voir ta source (un txt ou un xml ?). Est-elle encodée correctement ? je viens de passer 2 heures a chercher des infos sur l'encoding XML supporté par flash et je suis tombé sur ton site. C'est tres pratique et instructif. Merci beaucoup. J'ai aussi plein de question et remplis deux post-it de trucs a pas faire avec flash MX. NOTE: le site est en construction Posté par: | octobre 22, 2003 11:46 AMb'en moi j'ai un probème sous OSX... (10.2.8) Quand je crée mes fichiers XML et que je choisis comme encodage l'UTF-8 (simplextex et dreamweaver MX), ils sont toujours corrompus une fois uploadé sur le serveur... Merci beaucoup pour ce tutorial. en effetla documentation est rare sur le web et il m'a fallu écumer plus d'un site pour trouver ce sympathique tutorial. Merci encore Stef... :) Posté par: | février 18, 2004 08:52 PMOui une question: si je met un caractere accentué dans un attribut de xml, genre , j'ai une erreur xml malformed, comment résoudre ce pb car si je remplace par %E8 ou 0x0060, j'ai tjs le pb ? Posté par: | mars 1, 2004 07:55 AMMerci, je travaille a l'etranger (Cambridge) sur des jeux educatif (sciences et langage). Ton tutorial me depane apres plusieurs heures (jours de recherche). Je pense que tu es le seul sur le web a avoir une solution simple clair (et qui marche) au problem des accent/xml/flash (et php) Il y a un autre éditeur qui permet de sauvegarder en UTF-8 pour voir apparaître comme par magie les caractères accentués sous Flaxh MX 2004.Cet éditeur est TEXTPAD téléchargeable sur http://www.zdnet.fr/telecharger/windows/fiche/0,39021313,11000109s,00.htm. Mercie pour la piste. Posté par: | mars 18, 2004 06:37 AMMerci pour ces infos précieuses. Encore merci... Posté par: | mars 19, 2004 08:02 AMMerci pour le tutorial, sympa! tout a fait d'accord avec Alex ! Cimer GA !!!!! Posté par: | mai 13, 2004 05:43 PMJe cherche à encoder en UTF-8 afin de pouvoir importer du txt sous flash. Le format unicode (sous word) permet bien de conserver les caratères speciaux. mais le problème c'est qu'il ne conserve pas la mise en forme (texte en gras...). Il faut donc rajouter des balises dans le txt en unicode pour refaire sa mise en page... C'est galère, y a t'il des logiciels qui permettent d'encoder en conservant la mise en page ? Dans le fichier texte externe encodé en unicode que j'appel dans flash, j'aimerais faire des liens afin que les gens en cliquant sur les mots puissent avoir des petites définitions qui s'ouvrent dans des pop-up. Est-ce que quelqu'un aurait une suggestion? C'est moi qui ai écris le message au dessus,j'ai oublié de donner une précision : je travail sous mac. ;) ki porré me dire ou télécherger flash sur MAC OS X ? bravo pour ce tutorial précis et clair merci pour ce tutorial, ca fais 2 heures que je cherche pourquoi ca marche plus les accents ds ma galerie photo et je me rends compte que dreamweaver ne sauve pas en utf-8...j'ai donc utilisé notepad++ (pc) et tout est super.
Bonjour! Voilà, si ca peut en aider certains! =) Posté par: | juin 7, 2005 09:40 AMUne précision pour ceux qui ont des problèmes avec FlashMx pour les caractères accentuées dans la fichier xml enregistré en utf8 (balise: ). Sous FlashMx, lorsque vous utilisez une typo spéciale pour le champ texte dynamique, il faut cliquer sur 'caractères' puis 'indiquer les plages', selectionner majuscule, minuscule, chiffres, ponctuation puis rajouter dans 'inclure ces caractères' les caractères accentués. Ca marche sur PC, sur Mac, jsais pas. Posté par: | juillet 8, 2005 12:17 PMTu vien de me sauver la vie ... merci pour le tuto Posté par: | juillet 21, 2005 04:29 PMSite très pratique, rarement vu sur le web,les tutos sont exepsionnels, mais celui ci, malheuresement ne résoud pas mon problème d'accents avec flashmx2004pro un codage à l'enregistrement utf-8 via le bloc notes2. Voici mon xml :
Qq aurait une solution ? Merci à vous..... Posté par: | septembre 2, 2005 01:18 PMPoster un commentaire
Vous souhaitez suivre les commentaires sur ce site ? Un fil RSS est disponible ici. |
![]() |