Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

21avr/093

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:

bug encodage Flex

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:

encoding flex

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

Commentaires (3) Trackbacks (1)
  1. Merci pour ce tip, c'est exactement ce que je cherchais.

  2. 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 ;)

  3. Merci, ça va servir :)

    Fabien


Leave a comment

(required)