Приходит непонятный ответ от firebase на сервер

В общем такое дело. Пишу серверную часть для приложения на андроид. Все вроде бы работает но когда получаю ответ от фарбейза он выводиться знаками вопроса. Самый прикол в том что когда отправляю эти знаки на андроид через сокет там все норм отображает. Потом отправляю сообщение с андроида на сервер и мне нужно сравнить 2 строки сравниваю выдает false, вижу в консоле что сравнивает знаки вопроса со строкой и вижу что количество знаков вопроса и знаков в строке одинаково привожу код:

  public void getallquestions(){
    CollectionReference docRef = db.collection("questions");
    ApiFuture<QuerySnapshot> future = docRef.get();
    try {
        String s;
        QuerySnapshot document = future.get();
        for(DocumentSnapshot doc : document){
            Question quest = doc.toObject(Question.class);
            switch (quest.difficulty){
                case 1:
                    s = quest.question;
                    System.out.println(s); //Вот тут почему то знаки вопроса
                    easy.add(quest);
                    break;
                case 2:
                    middle.add(quest);
                    break;
                case 3:
                    difficult.add(quest);
                    break;
            }
        }
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
}


 public ClientHandler(Socket clientSocket){
        try {
            sended = new ArrayList<>();
            socket = clientSocket;
            question = new ObjectOutputStream(socket.getOutputStream());
            InputStreamReader isRead = new InputStreamReader(socket.getInputStream());
            reader = new BufferedReader(isRead);
            writer = new PrintWriter(socket.getOutputStream());
        }catch (IOException e) {
            e.printStackTrace();
        }

    }

    @Override
    public void run() {
        String question;
        try{
            System.out.println("work");
            while ((question = reader.readLine())!=null){
                if(question.equals("newquest")){
                    System.out.println("work23232");
                    current_question = get_new_question();
                    send_question();
                }else {
                    System.out.println(question);
                    System.out.println(answers.get(current_question.id));
                    writer.println(answers.get(current_question.id));
                    writer.flush();

                    if(question.equals(answers.get(current_question.id))){ //Вот тут я их сравниваю
                        score++;
                        current_question = get_new_question();
                        send_question();
                    }else{

                        socket.close();
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace(); }
    }

Такое чувство что что то с кодировкой но я не пойму в чем дело. Заранее благодарен!


Ответы (0 шт):