|
mProjector UTF-8
Crée le : dimanche 9 janvier 2005
Dernière révision : mardi 22 février 2005 23:17:21 Comment lire et écrire un fichier en UTF-8 avec mProjector22/02/2005 : La version /CR de mProjector gère désormais les fichiers en UTF-8 nativement Les méthodes de gestion d'écriture/lecture de fichiers textes de mProjector ne permettent actuellement pas (release v2 /cm) d'utiliser l'unicode pour sauver ou lire du contenu texte dans un fichier, elles ont la mauvaise idée d'utiliser le pagecode par défaut du système malgré que Flash travail de son côté intégralement en UTF-8. Pourtant il est possible d'utiliser une solution qui consiste simplement à se servir de la capacité de mProjector à utiliser des objets COM pour créer un objet FileSystemObject et utiliser sa méthode OpenTextFile pour écrire dans un fichier en UNICODE (UTF-16). Cette méthode ne permet pas d'écrire en UTF-8, mais l'unicode est trés bien écrit et lu par le lecteur Flash. Le problème est donc réglé. Pour utiliser l'astuce :
Le nom et les arguments des méthodes ne changent pas, il suffit d'y faire référence au travers de :
au lieu de :
Pour ceux qui souhaitent comprendre l'astuce utilisée au départ, elle se résume simplement à écrire : var ForReading = 1, ForWriting = 2;
var SYSTEM_DEFAULT = -2, UNICODE = -1,ASCII = 1 ;
var CreateFileIfNotExists = true;
var fso = mApplication.createObject("Scripting.FileSystemObject");
var f = fso.OpenTextFile
(
mApplication.getFolder()+"\\unicode.txt",
ForWriting,
CreateFileIfNotExists,
UNICODE
);
f.Write("L'homme n'est ni ange ni bête...");
f.Close();
Comme cette méthode dépend de la version de l'Active Scripting installée sur la machine qui exécute l'application, il a d'abord fallu vérifier si toutes les versions de Windows permettaient d'utiliser le FileSystemObject. Le test s'est fait sur un essai d'écriture avec la méthode
Je compte sur vous pour compléter cette liste en exécutant l'application et en me rapportant que tout fonctionne bien sur telle ou telle version de Windows ou au contraire me transmettre tout problème de compatibilité rencontré en me précisant (si possible) le service pack installé et les sous versions du système d'exploitation (Windows 98 SE, Windows 2000 Server etc..) |
||
| wordpress rss rss français rss english xhtml 1.1 css 2.0 wdg |