Было бы полезно, если бы вы разместили как входную строку, так и вывод.
Encoding.Convert () выведет '?' когда он пытается преобразовать символ в источнике, который не имеет соответствующего символа в целевой кодировке.
Последовательность в начале вашего вывода выглядит подозрительно близко к метке порядка байтов (BOM). На кодовых страницах ANSI их нет, поэтому, если в начале потока Unicode есть спецификация, вы можете попытаться удалить ее перед передачей данных в конвертер.