Java에서는 Character.toString((char) 65533)
이 다음 기호를 인쇄하는 이유는 무엇입니까? ?Java에서 유니 코드 대체 문자 인쇄 금지
나는 모든 곳에서 이러한 문자를 인쇄하는 Java 프로그램을 가지고 있습니다. 그것의 큰 프로그램. 이 문제를 피하기 위해 내가 할 수있는 것에 대한 아이디어가 있습니까?
Java에서는 Character.toString((char) 65533)
이 다음 기호를 인쇄하는 이유는 무엇입니까? ?Java에서 유니 코드 대체 문자 인쇄 금지
나는 모든 곳에서 이러한 문자를 인쇄하는 Java 프로그램을 가지고 있습니다. 그것의 큰 프로그램. 이 문제를 피하기 위해 내가 할 수있는 것에 대한 아이디어가 있습니까?
가장 가능성있는 시나리오 중 하나는 UTF-8 문자 집합을 사용하여 ISO-8859 데이터를 읽는 중입니다. 유효한 UTF-8이 아닌 일련의 문자가있는 경우 기호로 바뀝니다.
입력 스트림을 확인하고 올바른 문자 세트를 사용하여 읽었는지 확인하십시오.
유니 코드 문자 U + FFFD가 없습니다. 따라서 코드는 논리적으로 올바르지 않습니다. Unicode Replacement Symbol의 의도 된 사용은 잘못된 입력 (예 : (char)65533
)으로 대체됩니다.
문제를 해결하는 방법 : 문자열에 정크를 넣지 마십시오. 문자열은 텍스트 용입니다. 바이트는 임의의 2 진 데이터 용입니다.
이 말은 ... http://www.fileformat.info/info/unicode/char/fffd/index.htm – akula1001
"잘못된 입력 문자"자체를 나타내는 값이 유효한 문자인지 여부를 주장 할 수 있습니다 . 문자가 아니고 숫자가 아니며 구두점이 아니며 수학 기호가 아닙니다. – MSalters
"특수 문자"입니다. 그러나 심지어 폰트 표현을 가지고 있기 때문에, 대용으로 사용 되더라도 확실히 그것을 문자라고 부릅니다. 사용되지 않는 코드 포인트가 많이 있습니다. 더 이상 혼동하지 마십시오. –
글쎄, 당신은 무엇을합니까 할까요? 이러한 문자가 "모든 곳"에 있다면 나쁜 데이터가있는 것 같습니다 ... 유니 코드로 표현할 수없는 데이터를 수신하는 것은 매우 드뭅니다.
어떻게 데이터를 시작 하시겠습니까?
음,이 데이터를 얻는 곳은 RSS 피드입니다. – akula1001
잘못된 인코딩을 사용하고있는 것 같습니다. –
Java에서 Character.toString ((char) 65533)이이 기호를 인쇄하는 이유는 무엇입니까? ?
정확한 특정 캐릭터가 특정 codepoint와 연관된 때문이다. 이 아닐 경우은 생각하는 것처럼 임의의 문자를 표시합니다.
나는 모든 곳에서 이러한 문자를 인쇄하는 자바 프로그램이 있습니다. 그것의 큰 프로그램. 이 문제를 피하기 위해 내가 할 수있는 것에 대한 아이디어가 있습니까?
문제가 다른 곳에 있습니다. 최소한 마다을 설정해야합니다.이 경우 byte
- char
개의 변환 (파일/db에 텍스트 저장, 파일/db에서 텍스트 읽기, 텍스트 조작, 텍스트 전송, 텍스트 표시 등)을 사용하여 UTF-8
을 사용합니다. 내 눈을 잡는다
는 자바 0xFFFD
절대적으로 특별한 아무것도하지 않는 사실이다, 그냥 물음표 ?
에 의해 밝혀 문자를 대체하고 0xFFFD
자바에서 온다 주장을 계속하면서 그. 나는 파이어 폭스가 정확히 당신이 말한 것을 알고있다. 그래서 당신은 아마도 "파이어 폭스"와 "자바"를 혼동하고 있는가?
이것이 사실이고 실제로 자바 웹 응용 프로그램에 대해 이야기하는 경우 적어도 HTTP 응답 인코딩을 UTF-8
으로 설정해야합니다. 문제의 JSP 페이지 위에 <%@ page pageEncoding="UTF-8" %>
을 놓음으로써이를 수행 할 수 있습니다. this article을 사용하면이 "유니 코드 문제"를 해결하는 데 필요한 모든 배경과 솔루션에 대한 자세한 배경 정보와 자세한 개요를 얻을 수 있습니다.
이 모양을 보시오. primer on character encodings.
그들은 처음부터 왔습니까? 왜 그들이 인쇄중인 문자열에 있습니까? 이 점을 분명히하십시오. – uckelman
그들이 오는 곳은 RSS 피드입니다. 등 다양한 웹 서비스가 있습니다. – akula1001