Encodage des fichiers de properties dans Eclipse

Vous est-il déjà arrivé d'avoir des problèmes d'encodage sur des fichiers de properties Java alors que vous étiez persuadé d'avoir modifié les préférences d'Eclipse sur tout le Workspace ?

Si cela est le cas, ce post devrait vous intéresser.

Les fichiers de properties java ne contiennent pas l'information de l'encodage dudit fichier. Il n'y a aucun en-tête permettant de l'indiquer.
Contrairement aux fichiers html par exemple où l'on peut spécifier l'encodage dans la balise head comme suit :
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
Ou les fichiers xml :
<?xml version='1.0' encoding='UTF-8'?>

Les caractères encodés en ISO-8859-1 dit Latin-1 sont stockés sur un seul octet, ce qui ne permet qu'un nombre limité de caractères. Notamment, il ne prend pas en compte le sigle euro.
En revanche, L'UTF-8 permet d'encoder des caractères sur 4 octets et est donc beaucoup plus étendu. Il donne la capacité d'encoder, bien sûr, les caractères ASCII mais en plus le caractère euro, les caractères arabes, chinois, thai, cyrillique et bien d'autres.

Pour modifier l'encodage de projets Java, on a l'habitude de faire ceci :
accéder aux préférences en cliquant sur Window > Préférences, sélectionner le menu General > Workspace et modifier dans l'écran l'encodage, par exemple UTF-8 ou ISO-8859-1.

Mais cette procédure ne permet pas de modifier spécifiquement l'encodage des fichiers de properties, qui sont interprétés par Eclipse avec l'encodage de votre machine. Voici comment il faut s'y prendre :

Dans les préférences d'Eclipse, sélectionner le menu Général -> Content Types.
Puis, sélectionner Text -> Java Properties File dans l'arborescence. Tout en bas de l'écran, tapez UTF-8 dans le champ Default encoding.
N'oubliez pas de cliquer sur le bouton Update pour que la modification soit prise en compte. Ceci fait, vous pouvez cliquer sur OK pour quitter l'écran de préférences. Désormais, Eclipse interprètera les fichiers de properties java en UTF-8.

13 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.