Продам участок - 35
это выглядит, будто вы смотрите на utf-8 через неправильно настроенный просмотрщик, который пытается читать текст, будто он в 1251 кодировке.
Давайте объясню. Unicode - это не кодировка, это просто номенклатура большого количества самых разных символов. Этих символов сильно больше чем 256, а именно столько (256) значений может быть записано одним байтом.
Напомню. что у нас в компьютерах всё хранится в виде байтов и их последовательностей. Но один байт - это слишком мало для вычислений, поэтому их объединияли в "слова". Короче сперва регистры в процессоре были 2 байта (16 бит), потом 4 байта (32 бит), сейчас повсеместно завоёвывает позиции 64-битная архитектура. Грубо говоря это значит, что одной операцией процессор обрабатывает вот эти вот 4 или 8 байт. Но в каком порядке идут эти байты в такой группе? Вот тут тоже есть разница на разных платформах и там вообще мрак. Но как-то с этим живем.
Итак, нужно байтами записывать символы, которых очень много. Надо, чтобы эти байты можно было передать по сети другому компьютеру, возможно с другой архитектурой и другим порядком байт в "слове". Многим не нужны вообще все символы. Кому-то хватает только английских букв/цифр и некоторых знаков -- такой набор не превышает числом 128 символов (ASCII кодировка).
Что такое кодировка? Это способ задать одним или несколькими байтами конкретный символ. У кодировок разные наборы этих символов. Текст - это последовательность символов. В конкретной кодировке он задаётся последовательностью байт. Чтобы прочитать текст, нужно знать в какой он кодировке, брать байты (зная кодировку мы понимаем какие символы им соответствуют) и рисовать символы.
Исторически сложилось, что в windows в русской локали используется сразу две разных однобайтовых кодировки: cp1251 и cp866. Первая половина из 256 символов в них одинаковая, как в ASCII, а во второй русские буквы на совершенно разных местах стоят. Текст из одной кодировки в другую перевести можно однозначно, но нужно менять номера по специальной таблице.
А потом люди захотели очень разных символов, всякие иероглифы и пиктограммы. Это всё не поместится в байт и появились много байтовые кодировки. ASCII-символы там кодируются одним байтом, часто употребимые двумя, тремя, редкие, могут потребовать и больше байт. Есть сложный алгоритм, который говорит как превратить Юникод-символ с номером таким-то в набор байтов. Для каждой кодировки этот алгоритм свой. Для однобайтовых кодировок он сильно проще.
Регулярно чередующиеся символы в вашей строке примера - это те самые вторые байты символов. Заметьте, что ascii-символы представлены однобайтово. Это utf-8, на которую смотрят как на 1251 или какую-то другую однобайтовую кодировку.
То есть пытаются представить каждый байт в виде отдельного символа.
В итоге.
У вас есть файл в UTF-8. Открывайте его правильным редактором с правильными настройками и будет у вас всё видно правильно. Либо кодируйте в cp1251 файл при записи, тогда таким образом он у вас откроется читабельно.