На всякий случай, если у кого-то есть такая же проблема, как у меня ...
Я получал тот же вопросительный знак в черном ромбе для текста, который я извлек из файла JSON, загруженного из res / raw. Независимо от того, какую комбинацию потокового чтения я пробовал, символы все равно будут появляться. Моей первой попыткой убедиться, что я использую UTF-8, было проверить свойства файла через Eclipse, и достаточно точно было установлено «MacRoman», что бы это ни было. Я изменил его на UTF-8, построил, запустил, потерпел неудачу, почистил, собрал, запустил, потерпел неудачу, почесал голову, вернулся к SO.
Я прочитал, что мне пришлось сохранить файл после изменения кодировки, поэтому я попытался это сделать, но все равно не повезло. Затем я, наконец, прокрутил файл JSON в редакторе Eclipse, где находились специальные символы, и, что интересно, специальные символы (é и emdash) также показывались там как черные бриллианты! Я удалил и снова ввел их, и все работало нормально.
Итог: кодировка имеет значение, и при создании файла ресурсов (XML, JSON, CSV или любого другого) убедитесь, что вы выбрали правильную кодировку (обычно UTF-8) ДО того, как начнете вводить текст.