2016-10-31 3 views
1

현재 감정에 따라 트윗을 수집하고 분석합니다. 이모티콘으로 트윗을 만들었지 만 수집하는 동안 단순히 물음표와 함께 반환됩니다. 예를 들어트윗의 Emojis가 "?"로 표시됩니다. in MongoDB

: (트위터에)

원래 트윗 :

lipton ice tea 

(MongoDB의에서) 수집 후 :

lipton ice tea? 

내가 MongoDB를 함께 트위터 4J Java 패키지를 사용하고 있습니다.

+0

파이프 라인 어딘가에 인코딩 문제가있는 것 같습니다. –

+0

어디서 물음표가 보입니까? 몽고 껍질에? 또는 귀하의 페이지에 표시하기 위해 다시 검색 할 때? –

+1

또한 "lipton"은 대문자로 표기됩니다. 어떻게 이런일이 일어 났습니까? –

답변

0

MongoDB는 기본적으로 UTF-8을 사용하므로가 아닌 경우으로 설정하면 완전히 이모티콘을 저장할 수 있습니다.

MongoDB가 라틴어 특수 문자를 저장하지 않기 때문에 이번 한 번 내 머리를 벽에 부딪 히며 한 주를 보냈습니다. UTF-8을 사용하여 로그를 인쇄하도록 구성되지 않은 Log4j는 MongoDB가 제대로 작동했기 때문에 로그에서 본 모든 내용은 ñáçÜ 대신 ????이었습니다.

Windows에서 Mongo Shell (Windows의 경우 <mongo installation dir>/bin/mongo.exe)을 사용하여 MongoDB 인스턴스에 연결하고 데이터를 쿼리하면 이모티콘을 볼 수 있습니다. quick reference for the Mongo Shell입니다.

문제는 JSON 바이저 또는 MongoDB에 보내는 문자열의 인코딩에 있습니다.

자바에서

, 당신은 당신의 프로그램이 파일에서 읽을 때, 입력

0

당신이 Robomongo를 사용하는 경우는,이는 등 스트림 enconding 권리를 사용 확인, UTF-8file.encoding 시스템 속성을 설정 할 수 있습니다 robomongo 문제.

Robomongo는 표 모드에서 emojis 대신 ?을 표시합니다.