Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GWT: Character encoding umlauts

I want to set a text in a label:

labelDemnaechst.setText(" Demnächst fällig:");

On the output in the application the characters "ä" are displayed wrong.

How can I display them well?

like image 207
Patricia Odermatt Avatar asked Feb 02 '23 10:02

Patricia Odermatt


2 Answers

GWT assumes all source files are encoded in UTF-8 (and this is why you see löschen if you open them with an editor that interprets them as Windows-1252 or ISO-8859-1).

GWT also generates UTF-8-encoded files, so your web server should serve them as UTF-8 (or don't specify an encoding at all, to let browsers "sniff" it) and your HTML host page should be served in UTF-8 too (best is to put a <meta charset=utf-8> at the beginning of your <head>).

If a \u00E4 in Java is displayed correctly in the browser, then you're probably in the first case, where your source files are not encoded in UTF-8.

See http://code.google.com/webtoolkit/doc/latest/FAQ_Troubleshooting.html#International_characters_don't_display_correctly

like image 96
Thomas Broyer Avatar answered Feb 05 '23 15:02

Thomas Broyer


well you have to encode your special charactars to Unicode. You can finde a list of the representive Unicode characters here.

Your examle would look like this:

    labelDemnaechst.setText("Demn\u00E4lachst f\u00E4llig:");

Hope this helps, if noone has a better solution.

Appendix:

Thanks Thomas for your tipp, you really have to change the format in which eclipse safes it's source files. Per default it uses something like Cp1252. If you change it to UTF-8, your example works correct. (So Demnächst is written correctly).

You can edit the safing format, if you right-click on your file --> Preferences. enter image description here

like image 41
Stefan Avatar answered Feb 05 '23 15:02

Stefan