Frage an java, eclipse – Arabische Zeichenfolge in Java drucken

7

Ich versuche, arabischen Text in Java anzuzeigen, aber es werden Junk-Zeichen (Beispiel: ¤ [ï߯ [î) oder manchmal nur Fragezeichen angezeigt, wenn ich drucke. Wie mache ich es Arabisch zu drucken. Ich habe gehört, dass es etwas mit Unicode und UTF-8 zu tun hat. Dies ist das erste Mal, dass ich mit Sprachen arbeite, also keine Ahnung. Ich verwende Eclipse Indigo IDE.

BEARBEITEN: Wenn ich UTF-8-Codierung verwende, werden "¤ [ï߯ [î" -Zeichen zu "????????" Zeichen.

Die Eclipse-Konsole erfasst nur die Ausgabe eines Prozesses, derist Unicode, Hurda. Joey
wo druckst du deinen uotput aus? In die Eclipse-Konsole? Beachten Sie, dass Standardbefehlszeilen Unicode nicht unterstützen. Hurda
@ Hurda: Du hast recht. Alle Alternativen, damit ich es auf der Konsole ausdrucken kann oder nur um sicherzustellen, dass die Ausgabe, die ich erhalte, richtig ist! Chandra Eskay
Möchten Sie in einer Desktop- oder Webanwendung drucken? Bhavik Ambani

Deine Antwort

3   die antwort
2

stellen Sie sicher, dass Sie die Codierung für Ihr Projekt korrekt festlegen.

Nein, die Ausgabe stammt von einem Webservice-Aufruf Chandra Eskay
In diesem Fall sollten Sie die richtige Codierung verwenden, um aus der Webservice-Antwort zu lesen. Joey
7

Hier. Dies sollte es Ihnen ermöglichen, Eclipse zu veranlassen, Unicode in seiner Konsole zu drucken (was ich nicht weiß, wenn es sich um etwas handelt, das Eclipse ohne zusätzliche Anpassungen standardmäßig unterstützt).

Wenn dies Ihr Problem nicht löst, liegt höchstwahrscheinlich ein Problem mit der von Ihrem Programm verwendeten Codierung vor. Daher möchten Sie möglicherweise Zeichenfolgen auf folgende Weise erstellen:

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

Das funktioniert zumindest bei mir.

.getBytes() Verwendet die Plattform-Standardcodierung, die im Wesentlichen ein zufälliger Wert ist. Das Konvertieren der Zeichenfolge in Bytes und dann wieder zurück ist völlig redundant, wenn die Codierungen übereinstimmen, und beschädigt die Zeichenfolge, wenn sie nicht übereinstimmen. Christoffer Hammarström
Ich habe es versucht, aber jetzt werden alle Fragezeichen angezeigt. Chandra Eskay
@ Chandu-Indyaah: Hast du beide ausprobiert? Auf was genau versuchen Sie zu drucken? Die obige Methode funktionierte bei mir in Konsole undJFrame. npinti
1

Java EE oder Java ME? Wenn dies für Java ME ist, müssen Sie benutzerdefinierte GlyphUtils erstellen, wenn Sie LWUIT verwenden. Laden Sie diese Datei herunter:http://dl.dropbox.com/u/55295133/U0600.pdf Schauen Sie sich die Liste der Unicode-Codierungen an. Und schauen Sie sich diesen Thread an:https://stackoverflow.com/a/9172732/1061371 in der antwort (post) von mohamed nazar, die von bernama alex kliuchnikau bearbeitet wurde: "Der folgende code kann für die anzeige von arabischem text in j2me verwendet werdenString s=new String("\u0628\u06A9".getBytes(), "UTF-8"); woher\u0628\u06A9 ist der Unicode aus zwei arabischen Buchstaben. "Schauen Sie sich die Datei U0600.pdf an, damit wir sehen können, dass Mohamed Nazar und Alex Kliuchnikau ein Beispiel geben, um" ba "- und" kaf "-Zeichen auf Arabisch zu erstellen.

Der letzte Punkt, den Sie berücksichtigen müssen, ist: "Stellen Sie sicher, dass Ihre Benutzeroberfläche Unicode-Zeichen (ich meine Arabisch) unterstützt." Wie LWUIT unterstützt Unicode (ich meine Arabisch) Charakter noch nicht. Sie sollten Ihren benutzerdefinierten Code erstellen, wenn Ihre App LWUIT verwendet.

das geht nicht Error

Verwandte Fragen