2012-01-02 13 views
8

Chcę ustawić tekst w etykiecie:GWT: Charakter umlauty kodowania

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

na wyjściu w zakresie stosowania znaków „A” wyświetlane są błędne.

Jak mogę je dobrze wyświetlić?

+0

Która przeglądarka? Jakie jest kodowanie treści? kiedy sprawdzasz skompilowane wyjście, co widzisz, umlauty lub jakieś śmieci? – milan

+0

Google Chrome, ponieważ jest to aplikacja GWT. Kodowanie treści? W applicationname.gwt.xml napisałem: Przyjrzyjmy się przykładowemu projektowi w sieci i tam napisałem "lÃscschen" zamiast "löschen" To działa .... Co mam napisać dla umlautów "ä" "ü" ... –

Odpowiedz

4

Cóż, musisz zakodować specjalne znaki charytatywne na Unicode. Możesz znaleźć listę reprezentatywnych znaków Unicode here.

Twój examle będzie wyglądać następująco:

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

nadzieję, że pomoże, jeśli nikt nie ma lepszego rozwiązania.

Dodatek:

Dzięki Thomas dla Tipp, naprawdę trzeba zmienić format, w którym Eclipse sejf to pliki źródłowe. Domyślnie używa czegoś takiego jak Cp1252. Jeśli zmienisz go na UTF-8, twój przykład działa poprawnie. (Więc Demnächst jest napisany poprawnie).

Możesz edytować bezpieczny format, jeśli klikniesz prawym przyciskiem myszy na plik -> Preferencje. enter image description here

+0

dziękuję ...: D –

+1

Naprawdę powinieneś zrobić to w projekcie lub (jeszcze lepiej) poziom obszaru roboczego, a nie w dół do poziomu pliku. –

+0

Prawdopodobnie wiesz, gdzie mogę to zmienić, więc automatycznie zabezpieczy wszystkie nowe pliki projektów w UTF-8? – Stefan

5

GWT zakłada wszystkie źródła pliki są kodowane w UTF-8 (i dlatego widać löschen jeśli je otworzyć za pomocą edytora, który interpretuje je jako windows-1252 lub ISO-8859-1) .

GWT generuje również UTF-8-zakodowane pliki, więc serwer WWW powinien im służyć jako UTF-8 (lub nie określić kodowanie w ogóle, niech przeglądarek „powąchać” go) i hosta HTML strona powinna być również wyświetlana w UTF-8 (najlepiej jest umieścić <meta charset=utf-8> na początku swojej <head>).

Jeśli \u00E4 w Javie jest poprawnie wyświetlany w przeglądarce, prawdopodobnie jesteś w pierwszym przypadku, gdy twoje pliki źródłowe nie są zakodowane w UTF-8.

Zobacz http://code.google.com/webtoolkit/doc/latest/FAQ_Troubleshooting.html#International_characters_don „t_display_correctly

+0

dziękuję, redagowałem mój anserer, aby plik java został zabezpieczony, poprawka – Stefan

2

Aby uzyskać kodowanie UTF-8 dla całego obszaru roboczego, przejdź do Window -> Preferences. W wyskakującym okienku wpisz: encoding. Teraz powinieneś mieć Content Types, Workspace, CSS Files, HTML Files, XML Files jako wynik. W Typach zawartości możesz wpisać UTF-8 w polu tekstowym Domyślne kodowanie, dla innych elementów możesz po prostu wybrać kodowanie w odpowiednich listach.

Następnie sprawdź kodowanie projektu pod numerem Project -> Properties -> Resource.

Szczegółowa instrukcja ze zdjęciami można znaleźć tutaj:

http://stijndewitt.wordpress.com/2010/05/05/unicode-utf-8-in-eclipse-java/

Cheers

+0

To jest właściwie najlepsza odpowiedź. Naprawdę powinieneś ustawić kodowanie na poziomie projektu, aby upewnić się, że jest ono udostępniane innym członkom projektu. Dzięki za link do mojego bloga BTW :) –

0

co zrobiłem: otworzyć plik z notatnika (Windows Explorer), i zapisać go z opcją UFT -8 zamiast proponowanego ANSI.

Kodowanie projektu na UTF-8 nie działa (dla mnie)

Cheerio

+0

.... jeśli masz problem za pomocą gwt i18n – ronare

0

użycie znaków ISO-8859-1 (Europa Zachodnia) ustawić zamiast UTF-8.