The cause of your problem is that the .properties files must be encoded in ISO 8859-1 :
The load (Reader) / store (Writer, String) methods load and store properties from and to a character-based flow in a simple, line-oriented format specified later. The pair of load (InputStream) / store (OutputStream, String) methods work in the same way as the load (Reader) / store (Writer, String) pair, except that the input / output stream is encoded by the ISO 8859-1 character encoding . Characters that can not be represented directly in this encoding can be written using Unicode escapes as defined in section 3.3 of The Java ™ Language Specification; only a single 'u' character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings.
Most frameworks read them like this. I do not know if there are any that read them in XML, which can be UTF-8.
The solution can be to convert them to ISO 8859-1.
I forgot to tell you. To add characters that can not be encoded in ISO 8859-1 (that is, most of the characters defined in Unicode) you can use the
\uNNNN syntax. More information here .