Flex Tips – Insérer des caractères accentués dans un Resource Bundle (bug d'encodage)
Beaucoup de tutoriaux sur flex-tutorial portent sur l'internationalisation d'applications Flex grâce aux resource bundles. Pour en savoir plus sur ces manipulations, consultez la partie Flex Localization de la liste des tutoriaux Adobe Flex. Admettons que vous vouliez internationaliser votre application, et que vous voulez passer une partie de votre application en Français. Pour cet exemple, je vais simplement reprendre le code de l'exemple sur le changement de locale dynamique.
Voici notre fichier de langue Français:
# locale/fr_FR/RegistrationForm.properties
registration_title=Inscription
submit_button=Valider le formulaire
personname=Nom
street_address=Rue
city=Ville
state=Etat
zip=Code Postal
thanks=Merci pour votre enregistrement
flag=Embed("images/flag_french.gif")
Jusque là, tout va bien, car aucune des chaînes ne contient d'accent, ni de caractères spéciaux. Modifions maintenant la ligne state=:
state=état
Voici à quoi va ressembler notre application:
Voici le bug, à la place de notre "é", Flex nous affiche un carré. Si vous avez déjà assez d'expérience dans le dev web, vous avez peut-être déjà vu ce problème dans du HTML, du à un mauvais encodage des caractères. Et bien ici, c'est le même problème.
Si vous avez crée votre fichier .properties grâce à Flex Builder, il sera encodé en ISO-8859-1. C'est cet encodage qui pose problème. Pour modifier cet encodage en UTF-8, il faut tout d'abord que votre fichier soit vide. Mettez donc tout le contenu de votre fichier .properties dans le presse-papier (copié), puis videz votre fichier .properties.
Attention, il faut que votre fichier soit vide pour pouvoir changer l'encoding à chaud
Allez ensuite dans les propriétés de votre fichier (clic droit > Properties) . Voici ce que vous obtenez:
Comme vous le constatez, Flex Builder a mis l'encoding par défaut à ISO-8859-1. Cochez Other et sélectionnez UTF-8. Appliquez puis OK. Recopiez ensuite le contenu de votre fichier properties où il était avant (vous auriez aussi pu créer un nouveau fichier). Votre application va maintenant correctement afficher les caractères accentués
.
Articles similaires
- Flex Localization – Création de fichier .properties
- Flex Localization – Ajouter de nouvelles langues (locale)
- Flex Localization – Utilisation des Resource Bundles avec @Resource
- Flex Localization – Changement de locale en dynamique avec ResourceManager
- Flex Localization – Syntaxe des fichiers properties pour la l10n








19 août 2009
Merci pour ce tip, c'est exactement ce que je cherchais.
15 décembre 2009
Pour passer tous les fichiers *.properties en UTF-8, il peut être plus rapide de changer le format par défaut de ce type de fichier. Comme cela, il ne sera pas nécessaire de faire la manipulation pour tous les fichiers et il ne sera pas nécessaire de la refaire non plus sur les fichiers créés dans le futur.
Pour cela, il faut aller dans Window/Preferences puis dans General/Content Types.
Dans l'arbre, il faut trouver "Java properties file" et changer le "Default Encoding".
Je tenais à apporter cette info, mais sinon, ce site est excellent
15 décembre 2009
Merci, ça va servir
Fabien