2012-01-02 24 views
8

que quieren establecer un texto en una etiqueta:GWT: codificación de caracteres diéresis

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

sobre la salida en la aplicación de los caracteres "A" se visualizan mal.

¿Cómo puedo mostrarlos bien?

+0

¿Qué navegador? ¿Cuál es la codificación del contenido? cuando inspecciona la salida compilada, ¿qué ves, diéresis o algo de basura? – milan

+0

Google Chrome, porque es una aplicación GWT. ¿La codificación del contenido? En applicationname.gwt.xml, escribí Eché un vistazo a un proyecto de ejemplo en la web y allí escribieron "löschen" en lugar de "löschen" Eso funciona .... ¿Qué debo escribir para las diéresis "ä" "ü" ... –

Respuesta

4

bien, tiene que codificar sus characciones especiales para Unicode. Puede encontrar una lista de los caracteres Unicode representativos here.

Su examle se vería así:

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

Espero que esto ayude, si nadie tiene una mejor solución.

Apéndice:

Gracias Thomas para su Tipp, que realmente tiene que cambiar el formato en el que eclipsa caja fuerte es archivos de origen. Por defecto usa algo como Cp1252. Si lo cambia a UTF-8, su ejemplo funciona correctamente. (Así que Demnächst está escrito correctamente).

Puede editar el formato de seguridad si hace clic con el botón derecho en su archivo -> Preferencias. enter image description here

+0

gracias ...: D –

+1

Realmente debería hacer esto en el proyecto o (incluso mejor)) nivel de espacio de trabajo, en lugar de bajar al nivel de archivo. –

+0

probablemente, ¿sabes dónde puedo cambiar eso, por lo que automáticamente protege todos los archivos de proyectos nuevos en UTF-8? – Stefan

5

GWT asume toda la fuente de los archivos están codificados en UTF-8 (y es por eso que se ve löschen si se abren con un editor que los interpreta como Windows-1252 o ISO-8859-1) .

GWT también genera archivos codificados en UTF-8, por lo que su servidor web debe servir como UTF-8 (o no especifica una codificación en absoluto, para permitir que los navegadores "sniff") y su anfitrión HTML La página también debe publicarse en UTF-8 (lo mejor es poner un <meta charset=utf-8> al comienzo de su <head>).

Si un \u00E4 en Java se muestra correctamente en el navegador, entonces probablemente esté en el primer caso, donde los archivos fuente no están codificados en UTF-8.

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

+0

gracias, edité mi anserer para que el archivo java se corrija correctamente. – Stefan

2

Para obtener codificación UTF-8 para toda su área de trabajo, ir a Window -> Preferences. En el pop-up, comience a escribir encoding. Ahora debería tener Content Types, Workspace, CSS Files, HTML Files, XML Files como resultado. En Tipos de contenido, puede escribir UTF-8 en el cuadro de texto Codificación predeterminada, para los demás elementos, puede seleccionar la codificación en sus respectivas cajas de lista.

Luego verifique la codificación de su proyecto en Project -> Properties -> Resource.

instrucción detallada con imágenes se puede encontrar aquí:

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

Saludos

+0

Esta es en realidad la mejor respuesta. Deberías establecer la codificación en el nivel del proyecto para asegurarte de que se comparte con otros miembros del proyecto. Gracias por vincular mi blog BTW :) –

0

lo que hice: abrir el archivo con el bloc de notas (Windows Explorer), y guardarlo con la opción UFT -8 en lugar de ANSI propuesto.

que codifica el proyecto para UTF-8 no funcionaba (para mí)

Cheerio

+0

.... si tiene el problema al usar gwt i18n – ronare

0

Uso iso-8859-1 caracteres (Europa Occidental) establece en lugar de UTF-8.

Cuestiones relacionadas