Pregunta sobre java, eclipse – Imprimir cadena árabe en java

7

Estoy intentando mostrar texto en árabe en java pero muestra caracteres no deseados (Ejemplo: ¤ [ï߯ [î) o, a veces, solo signos de interrogación cuando imprimo. ¿Cómo lo hago para imprimir árabe. He oído que es algo relacionado con Unicode y UTF-8. Esta es la primera vez que trabajo con idiomas, así que no tengo idea. Estoy usando Eclipse Indigo IDE.

EDITAR: Si utilizo la codificación UTF-8, entonces "¤ [ï߯ [î" los caracteres se están convirtiendo en "????????" caracteres.

@Joey sí, la salida es Unicode, pero si ejecuta esta aplicación en un entorno que no es compatible con Unicode, tiene un problema. La consola de Eclipse es unicode capaz. Hurda
¿Quieres imprimir en la aplicación de escritorio o aplicación web? Bhavik Ambani
La consola Eclipse está capturando la salida de un proceso quees Unicode, Hurda. Joey
@Hurda: Tienes razón. ¡Cualquier alternativa para que pueda imprimirlo en la consola o simplemente para asegurarme de que la salida que obtengo sea la correcta! Chandra Eskay

Tu respuesta

3   la respuesta
7

aquí. Esto debería permitirle hacer que Eclipse imprima unicode en su consola (lo cual no sé si es algo que Eclipse admite sin necesidad de ajustes adicionales)

Si eso no resuelve su problema, es muy probable que tenga un problema con la codificación que está utilizando su programa, por lo que es posible que desee crear cadenas de alguna manera similar a esto:

String str = new String("تعطي يونيكود رقما فريدا لكل حرف".getBytes(), "UTF-8");

Esto al menos funciona para mí.

@ Chandu-Indyaah: ¿Los probasteis ambos? Además, ¿a qué exactamente estás tratando de imprimir? El método anterior funcionó para mí en la consola yJFrame. npinti
Lo intenté con esto, pero ahora está mostrando todos los signos de interrogación ... Chandra Eskay
.getBytes() utiliza la codificación predeterminada de la plataforma, que es esencialmente un valor aleatorio. La conversión de la cadena a bytes y luego de vuelta es completamente redundante si las codificaciones coinciden, y corrompe la cadena si no lo hacen. Christoffer Hammarström
2

asegúrese de configurar la codificación para su proyecto correctamente.

No, la salida proviene de una llamada de servicio web. Chandra Eskay
En ese caso, debe utilizar la codificación correcta para leer la respuesta del servicio web. Joey
1

Java EE o Java ME? Si esto es para Java ME, debes crear GlyphUtils personalizados si usas LWUIT. Descarga este archivo:http://dl.dropbox.com/u/55295133/U0600.pdf Mira la lista de codificación Unicode ... y mira este hilo:https://stackoverflow.com/a/9172732/1061371 en la respuesta (publicación) de Mohamed Nazar editada por bernama Alex Kliuchnikau, "El siguiente código puede usarse para mostrar texto en árabe en J2MEString s=new String("\u0628\u06A9".getBytes(), "UTF-8"); dónde\u0628\u06A9 es el unicode de dos letras árabes "Mira el archivo U0600.pdf, así que podemos ver que Mohamed Nazar y Alex Kliuchnikau dan ejemplo para crear el carácter" ba "y" kaf "en árabe.

Luego, el último punto que debe considerar es: "Asegúrese de que su interfaz de usuario admita el carácter Unicode (me refiero a árabe)". Al igual que LWUIT no es compatible con el carácter Unicode (me refiero a árabe). Debe hacer su código personalizado si quiere decir que su aplicación está utilizando LWUIT.

eso no funciona Error

Preguntas relacionadas