некоторые операции, такие как cout, преобразуют строку в подписанный символ *. подписанный символ не может отображать специальные буквы, такие как é, î, ², ~ и многие другие. Затем они превращаются в странные буквы, подобные тем, которые вы упомянули выше.