开发者

Use cyrillic .properties file in eclipse project

开发者 https://www.devze.com 2023-01-13 08:06 出处:网络
I\'m developing a small project and I\'d like to use internationalization for it. The problem is that when I try to use .properties file with cyrillic symbols inside, the text is displayed as rubbish.

I'm developing a small project and I'd like to use internationalization for it. The problem is that when I try to use .properties file with cyrillic symbols inside, the text is displayed as rubbish. When I hard-code the strings it's displayed just fine.

Here is my code:

Resource开发者_JS百科Bundle labels = ResourceBundle.getBundle("Labels");
btnQuit = new JButton(labels.getString("quit"));

And in my .properties file:

quit = Изход

And I get rubbish. When i try

btnQuit = new JButton("Изход);

It is displayed correctly. As far as I am aware, UTF-8 is the encoding used for the files.

Any ideas?


AnyEdit is an eclipse-plugin that allows you to easily convert your your properties files from and to unicode notation. (avoiding the use of command-line tools like native2ascii)

If you were using the Properties class alone (without resource bundle), since Java 1.6 you have the option to load the file with a custom encoding, using a Reader (rather than an InputStream)

I'd guess you can also use new PropertyResourceBundle(reader), rather than ResourceBundle.getBundle(..), where reader is:

Reader reader = new BufferedReader(new InputStreamReader(
     getClass().getResourceAsStream("messages.properties"), "utf-8")));


Properties are ISO-8859-1 encoded by default. You must use native2ascii to convert your UTF-8 properties to a valid ISO-8859-1 properties file containing unicode escape sequences for all non-ISO-8859-1 characters.

0

精彩评论

暂无评论...
验证码 换一张
取 消