Pergunta sobre java, eclipse – Imprimir cadeia árabe em java

7

Eu estou tentando exibir o texto em árabe em java, mas mostra caracteres de lixo (Exemplo: ¤ [ï߯ [î) ou às vezes apenas pontos de interrogação quando eu imprimir. Como faço para imprimir em árabe? Ouvi dizer que é algo relacionado ao unicode e UTF-8. Esta é a primeira vez que estou trabalhando com idiomas, então não faço ideia. Estou usando o Eclipse Indigo IDE.

EDIT: Se eu usar a codificação UTF-8, então "¤ [ï߯ [î" caracteres estão se tornando "????????" personagens.

@ Joey sim a saída é unicode, mas se você executar este aplicativo em ambiente que não suporta unicode você tem um problema. O console do Eclipse é capaz de unicode. Hurda
Você deseja imprimir em um aplicativo de desktop ou aplicativo da web? Bhavik Ambani
@BhavikAmbani: é uma aplicação web Chandra Eskay
@Hurda: Você está certo. Quaisquer alternativas para que eu possa imprimi-lo no console ou apenas para se certificar de que a saída que eu recebo está certo! Chandra Eskay

Sua resposta

3   a resposta
7

Aqui. Isso deve permitir que você faça o Eclipse imprimir unicode em seu console (o que eu não sei se é algo que o Eclipse suporta imediatamente sem nenhum ajuste extra)

Se isso não resolver o seu problema, você provavelmente terá um problema com a codificação que o seu programa está usando, então você pode querer criar strings de alguma maneira semelhante a esta:

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

Isso pelo menos funciona para mim.

@ Chandu-Indyaah: Você tentou os dois? Além disso, exatamente o que você está tentando imprimir? O método acima funcionou para mim no console eJFrame. npinti
.getBytes() usa a codificação padrão da plataforma, que é essencialmente um valor aleatório. Converter a string em bytes e, em seguida, voltar novamente é totalmente redundante se as codificações corresponderem e corromper a string, se não corresponderem. Christoffer Hammarström
Eu tentei com isso, mas, agora está mostrando todos os pontos de interrogação .. Chandra Eskay
1

Java EE ou Java ME? Se isso é para Java ME, você tem que fazer GlyphUtils personalizado se você usar LWUIT. Baixe este arquivo:http://dl.dropbox.com/u/55295133/U0600.pdf Olhe lista de codificação unicode .. E olhe para este segmento:https://stackoverflow.com/a/9172732/1061371 na resposta (post) de Mohamed Nazar, editado por bernama Alex Kliuchnikau, "O código abaixo pode ser usado para exibir texto em árabe em J2MEString s=new String("\u0628\u06A9".getBytes(), "UTF-8"); Onde\u0628\u06A9 é o unicode de duas letras arábicas "Olhe para o arquivo U0600.pdf, para que possamos ver que Mohamed Nazar e Alex Kliuchnikau dão exemplos para criar o caráter" ba "e" kaf "em árabe.

Em seguida, o último ponto que você deve considerar é: "Certifique-se de que sua interface do usuário suporte caracteres unicode (quero dizer árabe)." Como LWUIT não suporta ainda caracteres unicode (quero dizer árabe). Você deve criar seu código personalizado se quiser dizer que seu aplicativo está usando o LWUIT.

isso não funciona Error
2

certifique-se de definir a codificação do seu projeto corretamente.

Não, a saída vem de uma chamada de serviço da web Chandra Eskay
Nesse caso, você deve usar a codificação correta para ler a resposta do serviço da web. Joey

Perguntas relacionadas