일부 유니 코드 기호가 Java에서 표시되지 않는 이유는 무엇입니까?

동일한 프로젝트 내에서 여러 다른 서식 지정 시스템 간의 작업을 의미하는 데 사용되는 여러 언어의 문자를 인코딩하고 표시합니다. 유니 코드의 도입으로이 문제가 기술적으로 해결되었지만 일부 또는 모든 유니 코드 문자가 Java 프로그램에서 제대로 표시되지 않는 상황이 발생할 수 있습니다. 이것은 표시 객체를 올바르게 구성하지 않은 결과입니다.

유니 코드 시스템

유니 코드 표준은 표준이 지원하는 모든 언어의 모든 문자를 나타내는 문자와 숫자로 구성된 고유 한 코드를 할당하여 작동합니다. 그러나 유니 코드 표준이 지원하는 언어 수가 많기 때문에 모든 시스템에 설치된 모든 언어에 대해 유니 코드가 설정되지는 않습니다. 컴퓨터가 주어진 언어에 대한 지원을받지 못하면 유니 코드 문자가 물음표 또는 코드를 구성하는 실제 문자와 숫자로 표시됩니다.

명령 행

별도의 그래픽 사용자 인터페이스 구성 요소 라이브러리없이 터미널이나 명령 줄을 통해 Java를 실행하는 경우 "system.out.println ()"메서드는 기본적으로 유니 코드를 사용할 수 없습니다. 이렇게하면 유니 코드 문자를 읽거나 표시 할 수 없게됩니다. "PrintStream out = new PrintStream (System.out, true, 'UTF-8');"구문을 사용하여 "println () 메서드"가 유니 코드 문자를 올바르게 표시하도록 할 수 있습니다. 유니 코드를 사용하는 새 객체 인스턴스를 만듭니다. 이 구문 다음에 "out.println ()"명령을 사용하여 유니 코드 문자를 인쇄하십시오 (기사 전체에서 외부 따옴표는 무시하십시오).

로케일

Java 가상 머신은 "로케일"이라는 특수 언어 객체 시스템을 통해 유니 코드 지원을 처리합니다. 유니 코드 언어 지원은 지역마다 다른 통화 시스템, 숫자 및 기타 문자에 대한 표준 설정과 결합됩니다. 다른 로케일이나 폰트 그룹을 지정하지 않으면, JVM은 클라이언트의 운영 체제가 현재 사용하고있는 언어를 기반으로 로케일을로드합니다. 로켈의 기본 언어 세트가 프로그램에서 사용하려고하는 유니 코드 세트를 지원하지 않으면 프로그램에서 유니 코드 문자를 표시 할 수 없습니다.

스윙 글꼴

Swing GUI 구성 요소가 유니 코드 문자를 제대로 표시하지 못하는 경우 구성 요소가 기본적으로 사용하는 글꼴은 사용하려는 특정 문자 나 언어를 지원하지 않을 수 있습니다. "font custom-font = new font ( 'font-name');"구문을 사용하여 새 글꼴 개체를 만들어이 문제를 해결할 수 있습니다. 여기서 "custom-font"및 "font-name"은 사용할 새 글꼴의 이름입니다. 이들은 Serif, Arial 또는 Lucida Grande와 같은 글꼴 일 수 있습니다. 구문에서 "custom-font"는 글꼴 객체에 지정할 이름입니다. 구문 "object-name.setFont (custom-font);" 새 글꼴을 Swing 구성 요소에 할당합니다. 이 코드에서 "object-name"은 유니 코드 텍스트를 표시하는 Swing 객체의 이름입니다.

인기 게시물