2008-10-14 20 views
24

¿Cómo puedo usar/mostrar caracteres como ♥, ♦, ♣ o ♠ en Java/Eclipse?Cómo utilizar Caracteres especiales en Java/Eclipse

Cuando intento usarlos directamente, p. en el código fuente, Eclipse no puede guardar el archivo.

¿Qué puedo hacer?

Editar: ¿Cómo puedo encontrar la secuencia de escape Unicode?

+0

siempre puede presionar Alt + número desde el teclado, solo conozca la tabla ascii. – Infested

Respuesta

34

El problema es que los caracteres que está utilizando no se pueden representar en la codificación que tiene el archivo configurado en (Cp1252). De la forma en que lo veo, esencialmente tiene dos opciones:

Opción 1. Cambie la codificación.According to IBM, debe establecer la codificación en UTF-8. Creo que esto resolvería tu problema.

  • Establecer el archivo de texto preferencia de codificación Workbench mundial> Editores a "UTF-8".
  • Si se requiere una codificación que no sea UTF-8, configure la codificación en el archivo individual en lugar de utilizar la configuración de preferencia global. Para hacer esto, use la selección del menú Archivo> Propiedades> Información para establecer la codificación en un archivo individual.

Opción 2. quitar los caracteres que no son compatibles con el "Cp1252" codificación de caracteres. Puede reemplazar los caracteres no admitidos con Unicode escape sequences (\ uxxxx). Si bien esto le permitirá guardar su archivo, no es necesariamente la mejor solución.

Para los caracteres que ha especificado en su pregunta aquí son las secuencias de escape Unicode:

♥ \u2665 
♦ \u2666 
♣ \u2663 
♠ \u2660 
+1

Argumentaría que la segunda opción es preferible porque hace que el archivo sea más portátil entre diferentes codificaciones fuente. Depende de dónde están los caracteres, por supuesto (¿literales de cadena? ¿Comentarios? ¿READMEs?). – McDowell

+4

Yo diría que la primera opción es preferible porque cualquier persona que use cualquier codificación que no sea UTF-8 (ciertamente cualquiera que use una codificación específica del país) para sus archivos fuente necesita ayuda. :) – Cowan

+2

Los archivos fuente de Java se tratan como la codificación del sistema operativo de forma predeterminada (algunos 8 bits de CP en Windows, UTF8 en Linux). No escribir ASCII significa que debe asegurarse de que los desarrolladores lo sepan antes de compilar y corre el riesgo de introducir errores si no lo hacen. Las cosas I18N deberían estar en los archivos de propiedades (UTF8 por definición). – McDowell

2

Cambie la codificación a una que sea compatible, p. Ej. UTF-8, o encuentre el número Unicode relevante y use una secuencia de escape \ uxxxx para representarlo.

+0

¿Cómo encuentro el número Unicode? – Burkhard

+0

Busque en las páginas de códigos en http://unicode.org –

9

Se puede resolverse mediante el establecimiento de codificación en Eclipse:

primera manera:

En el menú seleccione Archivo -> Propiedades y luego en "Codificación del archivo de texto" sección: Seleccione Otra radio, Seleccione UTF-8 de combo -> Por último, haga clic en el botón Aceptar

segunda manera:

Haga clic derecho en el archivo específico (digamos Test.java) -> Propiedades . En texto de codificación de archivos sección: Seleccione Otro de radio, seleccione UTF-8 de combo -> Por último, haga clic en el botón Aceptar

tercera manera:

Si desea realizar este cambio para todo el proyecto vaya a ventana -> Preferencias -> General -> Espacio de trabajo.En codificación de archivos de texto sección: Seleccione Otro de radio, seleccione UTF-8 de combo -> Por último, haga clic en el botón Aceptar

2

Encontrar la secuencia de escape Unicode: ver a estos Unicode charts. Tus personajes están en Misc. Tabla de símbolos, \ u2660 y arriba.

15

En Eclipse:

  1. Ir a Ventana -> Preferencias -> General -> Espacio de trabajo -> TextFileEncoding
  2. Set a Menú UTF-8
+1

Mucho más pragmático que la respuesta aceptada. Esto ayuda – onmyway133

0

de Windows -> Preferencias -> General (expandirlo) -> Espacio de trabajo (haga clic en él). Busque un cuadro "Codificación de archivo de texto". El valor predeterminado será "Cp1252". Cambie la radio para seleccionar otra y seleccione "UTF-8" del cuadro combinado.

2

Ampliando un poco en contestar @ Joe Lencioni

Usted puede utilizar AnyEdit Eclipse plug-in (install-poder de mercado Eclipse) para convertir fácilmente el texto Unicode en Unicode de Java escapa:

  • Seleccionar char/texto con caracteres no ASCII
  • haga clic con
  • Convert> Para Unicode notación

Una advertencia menor es que AnyEdit quiere guardar el archivo primero, lo que obviamente no es permitido por Eclipse hasta que arregle su texto.