Warum werden einige Unicode-Symbole nicht in Java angezeigt?

Das Kodieren und Anzeigen von Zeichen aus verschiedenen Sprachen bedeutet, dass Sie mit mehreren verschiedenen Formatierungssystemen innerhalb eines Projekts arbeiten. Obwohl die Einführung von Unicode dieses Problem technisch gelöst hat, kann es dennoch zu Situationen kommen, in denen einige oder alle Ihrer Unicode-Zeichen in Java-Programmen nicht richtig angezeigt werden. Dies ist das Ergebnis, wenn Anzeigeobjekte nicht ordnungsgemäß konfiguriert werden.

Unicode-System

Der Unicode-Standard verwendet einen eindeutigen Code, der aus Buchstaben und Zahlen besteht, um jedes Zeichen in jeder vom Standard unterstützten Sprache darzustellen. Aufgrund der vom Unicode-Standard unterstützten Anzahl von Sprachen ist jedoch nicht bei jedem System der Unicode-Satz für jede installierte Sprache vorhanden. Wenn ein Computer eine bestimmte Sprache nicht unterstützt, werden die Unicode-Zeichen entweder als Fragezeichen oder als tatsächliche Buchstaben und Zahlen angezeigt, aus denen ein Code besteht.

Befehlszeile

Wenn Sie Java über Ihr Terminal oder die Befehlszeile ohne separate Bibliothek grafischer Benutzeroberflächenkomponenten ausführen, verwendet die Methode "system.out.println ()" standardmäßig standardmäßig kein Unicode. Dies würde verhindern, dass Unicode-Zeichen gelesen oder angezeigt werden können. Sie können Ihre "println () - Methode" so einstellen, dass Unicode-Zeichen korrekt angezeigt werden, indem Sie die Syntax verwenden "PrintStream out = new PrintStream (System.out, true, 'UTF-8');" So erstellen Sie eine neue Objektinstanz, die Unicode verwendet. Verwenden Sie nach dieser Syntax den Befehl "out.println ()", um Ihre Unicode-Zeichen zu drucken (ignorieren Sie die Anführungszeichen in diesem Artikel).

Locales

Die Java Virtual Machine behandelt die Unicode-Unterstützung durch ein System spezialisierter Sprachobjekte, die als "Gebietsschemas" bezeichnet werden. Diese kombinieren die Unicode-Sprachunterstützung mit Standardeinstellungen für die Währungssysteme, Zahlen und andere Zeichen, die sich von Region zu Region ändern. Wenn Sie kein anderes Gebietsschema oder eine andere Schriftartgruppe angeben, lädt die JVM ein Gebietsschema basierend auf der Sprache, die das Betriebssystem des Clients derzeit verwendet. Wenn der Standardsprachensatz des Gebietsschemas den Unicode-Satz, den Ihr Programm verwendet, nicht unterstützt, kann das Programm die Unicode-Zeichen nicht anzeigen.

Swing-Schrift

Wenn eine Swing-GUI-Komponente Unicode-Zeichen nicht ordnungsgemäß anzeigt, werden die von den Komponenten standardmäßig verwendeten Schriftarten möglicherweise nicht für die bestimmten Zeichen oder Sprachen unterstützt, die Sie verwenden möchten. Sie können dieses Problem beheben, indem Sie ein neues Schriftobjekt mit der Syntax "font custom-font = new font ('font-name')" erstellen. Dabei sind "custom-font" und "font-name" die Namen der neuen Schriftart, die Sie verwenden werden. Dies können Schriftarten wie Serif, Arial oder Lucida Grande sein. In der Syntax ist "custom-font" der Name, den Sie dem Font-Objekt geben. Die Syntax "object-name.setFont (custom-font);" weist die neue Schriftart einer Swing-Komponente zu. In diesem Code ist "Objektname" der Name des Swing-Objekts, das Ihren Unicode-Text anzeigt.

Beliebte Beiträge