Поведение Java по умолчанию при чтении недопустимого символа юникода заключается в замене его на заменяющий символ (\ uFFFD). Этот символ часто отображается как знак вопроса.
В вашем случае текст, который вы читаете, не закодирован как unicode, он закодирован как что-то еще (Windows-1252 или ISO-8859-1, вероятно, наиболее распространенные альтернативы, если ваш текст на английском языке).