저는 RSS 피드 파서를 자바로 작성하고 아랍어/중국어/일본어 문자가있는 피드를 파싱하는 동안 문제가 발생했습니다. Example feed아랍어/중국어/일본어 RSS 피드를 자바로 파싱
나는 그들을 인쇄 할 때 단지 물음표가 "?????? ???? ?????"라고 표시됩니다.
그들은 내 데이터베이스 (최대 절전 모드로 연결되어, utf8 인코딩으로 설정되어있다)도 결국 그렇게합니다.
이 피드에서 제목을 받고 담당하는 코드의 일부 :
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(url.openStream());
doc.getDocumentElement().normalize();
Node channelNode = doc.getElementsByTagName("channel").item(0);
NodeList channelList = channelNode.getChildNodes();
for (int i = 0; i < channelList.getLength(); i++) {
Node element = channelList.item(i);
String name = element.getNodeName();
if (name.equalsIgnoreCase("title")) {
rssName = element.getTextContent();
break;
}
}
어떻게 데이터베이스에 적절한 문자를 얻는 방법? 피드에서 복사하여 데이터베이스에 수동으로 삽입하면됩니다.
고맙습니다
UPDATE
:이 문제를 해결 내 최대 절전 모드 설정에 추가 라인을 퍼팅 :
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
해당 문자를 인쇄하려면 글꼴을 설치해야합니까? – rvdginste
@rubenvdg : 해당 문자에 대한 글꼴이 없으면 검정색 테두리가있는 빈 흰색 사각형이나 특정 응용 프로그램 (일부 웹 브라우저)에서 [유니 코드 대체 문자]를 보았을 것입니다 (http://www.fileformat.info/info /unicode/char/fffd/index.htm), 확실히 물음표는 아닙니다. – BalusC
@BalusC : 문맥에 따라 다르다고 생각했는데 실수가 아니라면 리눅스 터미널 창에 물음표가 나타날 수 있습니다. 어쨌든 내 말을 신경 쓰지 마라. 나는 "수동으로 삽입"에 대한 마지막 문장을 놓쳤다. – rvdginste