Dlaczego niektóre symbole Unicode nie są wyświetlane w Javie?

Kodowanie i wyświetlanie znaków z różnych języków oznaczało pracę między wieloma różnymi systemami formatowania w ramach tego samego projektu. Mimo że wprowadzenie Unicode technicznie rozwiązało ten problem, nadal można spotkać sytuacje, w których niektóre lub wszystkie znaki Unicode nie będą poprawnie wyświetlane w programach Java. Jest to wynikiem niepoprawnej konfiguracji obiektów wyświetlanych.

System Unicode

Standard Unicode działa poprzez przypisanie unikalnego kodu składającego się z liter i cyfr, które reprezentują każdy znak w każdym języku obsługiwanym przez standard. Jednak ze względu na liczbę języków obsługiwanych przez standard Unicode, nie każdy system ma ustawiony kod Unicode dla każdego zainstalowanego języka. Jeśli komputer nie obsługuje danego języka, wyświetla on znaki Unicode jako znaki zapytania lub rzeczywiste litery i cyfry tworzące kod.

Wiersz poleceń

Jeśli używasz języka Java za pośrednictwem terminala lub wiersza poleceń bez oddzielnej biblioteki graficznych składników interfejsu użytkownika, metoda "system.out.println ()" może domyślnie nie używać standardu Unicode. Uniemożliwiłoby to odczytanie lub wyświetlenie znaków Unicode. Możesz uczynić swoją "metodę println ()" poprawnie wyświetlać znaki Unicode za pomocą składni "PrintStream out = new PrintStream (System.out, true, 'UTF-8');" utworzyć nową instancję obiektu, która używa Unicode. Po tej składni użyj polecenia "out.println ()", aby wydrukować znaki Unicode (zignoruj ​​cudzysłowy w całym artykule).

Locale

Maszyna wirtualna Java obsługuje obsługę standardu Unicode za pośrednictwem systemu wyspecjalizowanych obiektów językowych o nazwie "locales". Łączą one obsługę języków Unicode ze standardowymi ustawieniami dla systemów walutowych, liczb i innych znaków, które zmieniają się z regionu na region. Jeśli nie określisz innego ustawienia narodowego lub grupy czcionek, JVM załaduje ustawienia narodowe w oparciu o język, z którego aktualnie korzysta system operacyjny klienta. Jeśli domyślny zestaw językowy ustawień regionalnych nie obsługuje zestawu znaków Unicode, którego program próbuje użyć, program nie będzie mógł wyświetlać znaków Unicode.

Swing Font

Jeśli składnik interfejsu graficznego Swing nie wyświetla poprawnie znaków Unicode, czcionki używane domyślnie w komponentach mogą nie obsługiwać określonych znaków lub języka, których próbujesz użyć. Możesz rozwiązać ten problem, tworząc nowy obiekt czcionki, używając składni "font custom-font = new font (" nazwa-czcionki ");" gdzie "custom-font" i "font-name" są nazwami nowej czcionki, której będziesz używać. Mogą to być takie czcionki jak Serif, Arial lub Lucida Grande. W składni "niestandardowa-czcionka" to nazwa, którą chcesz nadać obiektowi czcionki. Składnia "object-name.setFont (custom-font);" przydzieli nową czcionkę do komponentu Swing. W tym kodzie "nazwa-obiektu" to nazwa obiektu Swing wyświetlającego tekst w kodzie Unicode.

Popularne Wiadomości