- Универсальный декодер — конвертер кириллицы
- Результат
- О программе
- Использование
- Ограничения
- Условия использования
- Переводчики
- Что нового
- Как перекодировать latin1 в кириллицу
- Как исправить отображение кириллицы или кракозябры в Windows 10
- Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10
- Как исправить иероглифы Windows 10 путем изменения кодовых страниц
- С помощью редактора реестра
- Путем подмена файла кодовой страницы на c_1251.nls
- Замена CP1252 -> CP1251 на кириллические буквы
- Сообщений [ 12 ]
- 1 Тема от Alex_Gur 21.05.2012 11:15:34
- Тема: Замена CP1252 -> CP1251 на кириллические буквы
- 2 Ответ от Alex_Gur 22.05.2012 14:58:51
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 3 Ответ от maxim777 16.03.2013 21:07:05
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 4 Ответ от Alex_Gur 16.03.2013 21:15:19
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 5 Ответ от DrDen 11.02.2014 20:59:25
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 6 Ответ от MCat78 16.02.2014 22:55:53
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 7 Ответ от Alex_Gur 17.02.2014 08:51:09
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 8 Ответ от Alex_Gur 25.02.2014 11:14:57
- Re: Замена CP1252 -> CP1251 на кириллические буквы
- 9 Ответ от Alex_Gur 25.02.2014 11:24:12
- Re: Замена CP1252 -> CP1251 на кириллические буквы
Универсальный декодер — конвертер кириллицы
Результат
[Результат перекодировки появится здесь. ]
Поставьте ссылку на наш сайт!
Универсальный декодер кириллицы
For a small fee I can help you quickly recode/recover large pieces of data — texts, databases, websites. or write custom functions you can use (invoice available).
FAQ and contact information.
О программе
Здравствуйте! Эта страница может пригодиться, если вам прислали текст (предположительно на кириллице), который отображается в виде странной комбинации загадочных символов. Программа попытается угадать кодировку, а если не получится, покажет примеры всех комбинаций кодировок, чтобы вы могли выбрать подходящую.
Использование
- Скопируйте текст в большое текстовое поле дешифратора. Несколько первых слов будут проанализированы, поэтому желательно, чтобы в них содержалась (закодированная) кириллица.
- Программа попытается декодировать текст и выведет результат в нижнее поле.
- В случае удачной перекодировки вы увидите текст в кириллице, который можно при необходимости скопировать и сохранить.
- В случае неудачной перекодировки (текст не в кириллице, состоящий из тех же или других нечитаемых символов) можно выбрать из нового выпадающего списка вариант в кириллице (если их несколько, выбирайте самый длинный). Нажав OK вы получите корректный перекодированный текст.
- Если текст перекодирован лишь частично, попробуйте выбрать другие варианты кириллицы из выпадающего списка.
Ограничения
- Если текст состоит из вопросительных знаков («. ?? . «), то проблема скорее всего на стороне отправителя и восстановить текст не получится. Попросите отправителя послать текст заново, желательно в формате простого текстового файла или в документе LibreOffice/OpenOffice/MSOffice.
- Не любой текст может быть гарантированно декодирован, даже если есть вы уверены на 100%, что он написан в кириллице.
- Анализируемый и декодированный тексты ограничены размером в 100 Кб.
- Программа не всегда дает стопроцентную точность: при перекодировке из одной кодовой страницы в другую могут пропасть некоторые символы, такие как болгарские кавычки, реже отдельные буквы и т.п.
- Программа проверяет максимум 7245 вариантов из двух и трех перекодировок: если имело место многократное перекодирование вроде koi8(utf(cp1251(utf))), оно не будет распознано или проверено. Обычно возможные и отображаемые верные варианты находятся между 32 и 255.
- Если части текста закодированы в разных кодировках, программа сможет распознать только одну часть за раз.
Условия использования
Пожалуйста, обратите внимание на то, что данная бесплатная программа создана с надеждой, что она будет полезна, но без каких-либо явных или косвенных гарантий пригодности для любого практического использования. Вы можете пользоваться ей на свой страх и риск.
Если вы используете для перекодировки очень длинный текст, убедитесь, что имеется его резервная копия.
Переводчики
Страница подготовки переводов на другие языки находится тут.
Что нового
October 2013 : I am trying different optimizations for the system which should make the decoder run faster and handle more text. If you notice any problem, please notify me ASAP.
На английской версии страницы доступен changelog программы.
Как перекодировать latin1 в кириллицу
Мне каждый раз задают один и тот же вопрос, спрашивают об одном и том же: «Как перекодировать кракозябры из базы данных, хранящей строки в кодировке latin1 в нормальную кириллицу (windows-1251) или utf-8».
Ниже я постараюсь наиболее полно ответить на данный вопрос, а также приведу кусок кода на PHP, который однозначно решает проблему.
Во-первых, я никому не рекомендую продолжать работать в кодировке windows-1251. Эта однобайтовая кодировка уже не удовлетворяет требованиям современности. Поскорее переводите все проекты на utf-8. Чем быстрее это будет сделано, тем быстрее пропадут у вас проблемы с кракозябрами.
Теперь о latin1. Эта кодировка (также известна как windows-1252) повсеместно использовалась ранее в MySQL вплоть до версии 4. Символьная таблица кириллических букв находится в ней на месте арабских символов. Но поскольку она тоже однобайтовая, то при чтении данных в этой кодировке из этой таблицы и выводе их как windows-1251 не возникает никаких проблем, ведь коды в итоге те же самые (0xA0-0xFF). Но всё это будет работать только до тех пор, пока вы не установите MySQL 5+, работающий по дефолту в utf-8.
Что же делает MySQL 5+, передавая Вам такие данные? Перед передачей на сторону клиента он честно перекодирует все данные в utf-8, помещая арабские символы (а в latin1 ваша кириллица на самом деле является арабскими символами) в тот диапазон кодов utf-8, где они и должны быть. В результате если вы даже попытаетесь перекодировать полученную utf-8-строку обратно в кириллицу функцией iconv(‘utf-8’, ‘windows-1251’, $str), то у вас ничего не получится. iconv выдаст ошибку, либо вернёт пустую строку.
Первое, что делает программист — он пытается изменить кодировку таблицы latin1 на windows-1251 в phpMyAdmin. Но MySQL этого сделать не может (о чём он и пишет), ведь в кодировке windows-1251 нет соответствующих арабских символов. Второе, что приходит в голову — сконвертировать эту таблицу в utf-8. И это получается. Только вот тексты по-прежнему отображаются кракозябрами.
Как же быть? Как решить эту проблему ?
Решение тут довольно простое, но чтобы к нему прийти самостоятельно, надо чётко понимать — что такое кодировки и как они работают. В понимании поможет моя hand-made диаграмма.
А вот и алгоритм, которым я пользуюсь, чтобы привести кодировки в порядок.
- Перевожу все таблицы БД в кодировку utf-8. При этом якобы кириллические символы, хранящиеся в кодировке latin1, а поэтому на самом деле являющиеся арабскими, переводятся в utf-8 и занимают свои законные места в диапазоне кодов utf-8, предназначенном для арабских символов.
- Пишу микроутилиту на PHP, которая делает следующее с каждой символьной строкой:
- а) Переводит строку в кодировку windows-1252. Тут проблем быть не должно. Тем самым арабские буквы занимают диапазон кодов A0-FF.
- б) Переводит полученную однобайтовую строку в utf-8, но уже не как windows-1252, а как windows-1251, т.е. выдавая символы из диапазона A0-FF за кириллические. В итоге символы попадают в utf-8 в тот диапазон кодов, который предназначен для кириллических символов.
- Всё, теперь наша строка официально является кириллической строкой в utf-8. Её можно записать обратно в ту же ячейку БД, либо сразу выдать в выходной поток. Однако я всё же рекомендую выполнить однократное полное преобразование БД, и забыть о latin1 как о страшном сне.
Ниже привожу сэмпл кода на PHP, который переводит ФИО пользователей в нормальную кириллическую кодировку.
$q = ‘select id, fio from `users`’;
$res = mysql_query($q);
while (($row = mysql_fetch_assoc($res)) !== false) <
// Преобразуем fio из utf-8/latin1 в windows-1252
$s = iconv(‘utf-8’, ‘windows-1252’, $row[‘fio’]);
// Преобразуем строку из однобайтной кодировки обратно в utf-8, выдав её за windows-1251
$s = iconv(‘windows-1251’, ‘utf-8’, $s);
// Сохраняем назад в БД
$q = ‘update `users` set fio = «‘.addslashes($s).'» where id’];
mysql_query($q);
>
Как исправить отображение кириллицы или кракозябры в Windows 10
Одна из возможных проблем, с которыми можно столкнуться после установки Windows 10 — кракозябры вместо русских букв в интерфейсе программ, а также в документах. Чаще неправильное отображение кириллицы встречается в изначально англоязычных и не совсем лицензионных версиях системы, но бывают и исключения.
В этой инструкции — о том, как исправить «кракозябры» (или иероглифы), а точнее — отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: Как установить и включить русский язык интерфейса в Windows 10 (для систем на английском и других языках).
Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10
Самый простой и чаще всего работающий способ убрать кракозябры и вернуть русские буквы в Windows 10 — исправить некоторые неправильные настройки в параметрах системы.
Для этого потребуется выполнить следующие шаги (примечание: привожу также названия нужных пунктов на английском, так как иногда необходимость исправить кириллицу возникает в англоязычных версиях системы без нужды менять язык интерфейса).
- Откройте панель управления (для этого можно начать набирать «Панель управления» или «Control Panel» в поиске на панели задач.
- Убедитесь, что в поле «Просмотр» (View by) установлено «Значки» (Icons) и выберите пункт «Региональные стандарты» (Region).
- На вкладке «Дополнительно» (Administrative) в разделе «Язык программ, не поддерживающих Юникод» (Language for non-Unicode programs) нажмите по кнопке «Изменить язык системы» (Change system locale).
- Выберите русский язык, нажмите «Ок» и подтвердите перезагрузку компьютера.
После перезагрузки проверьте, была ли решена проблема с отображением русских букв в интерфейсе программ и (или) документах — обычно, кракозябры бывают исправлены после этих простых действий.
Как исправить иероглифы Windows 10 путем изменения кодовых страниц
Кодовые страницы представляют собой таблицы, в которых определенным байтам сопоставляются определенные символы, а отображение кириллицы в виде иероглифов в Windows 10 связано обычно с тем, что по умолчанию задана не та кодовая страница и это можно исправить несколькими способами, которые могут быть полезны, когда требуется не изменять язык системы в параметрах.
С помощью редактора реестра
Первый способ — использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую создать точку восстановления прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.
- Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter, откроется редактор реестра.
- Перейдите к разделу реестраи в правой части пролистайте значения этого раздела до конца.
- Дважды нажмите по параметру ACP, установите значение 1251 (кодовая страница для кириллицы), нажмите Ок и закройте редактор реестра.
- Перезагрузите компьютер (именно перезагрузка, а не завершение работы и включение, в Windows 10 это может иметь значение).
Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) — посмотреть на текущее значение параметра ACP (обычно — 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls.
Путем подмена файла кодовой страницы на c_1251.nls
Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C:\ Windows\ System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).
- Зайдите в папку C:\ Windows\ System32 и найдите файл c_1252.NLS, нажмите по нему правой кнопкой мыши, выберите пункт «Свойства» и откройте вкладку «Безопасность». На ней нажмите кнопку «Дополнительно».
- В поле «Владелец» нажмите «Изменить».
- В поле «Введите имена выбираемых объектов» укажите ваше имя пользователя (с правами администратора). Если в Windows 10 используется учетная запись Майкрософт, вместо имени пользователя укажите адрес электронной почты. Нажмите «Ок» в окне, где указывали пользователя и в следующем (Дополнительные параметры безопасности) окне.
- Вы снова окажетесь на вкладке «Безопасность» в свойствах файла. Нажмите кнопку «Изменить».
- Выберите пункт «Администраторы» (Administrators) и включите полный доступ для них. Нажмите «Ок» и подтвердите изменение разрешений. Нажмите «Ок» в окне свойств файла.
- Переименуйте файл c_1252.NLS (например, измените расширение на .bak, чтобы не потерять этот файл).
- Удерживая клавишу Ctrl, перетащите находящийся там же в C:\Windows\System32 файл c_1251.NLS (кодовая страница для кириллицы) в другое место этого же окна проводника, чтобы создать копию файла.
- Переименуйте копию файла c_1251.NLS в c_1252.NLS.
- Перезагрузите компьютер.
После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.
Замена CP1252 -> CP1251 на кириллические буквы
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 12 ]
1 Тема от Alex_Gur 21.05.2012 11:15:34
CP1251 на кириллические буквы» title=»Замена CP1252 -> CP1251 на кириллические буквы»/>
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
- За сообщение: 2
Тема: Замена CP1252 -> CP1251 на кириллические буквы
В некоторых случаях при копировании текстового кириллического слоя из файла PDF в Word образуются кракозябры следующего вида:
Ïðè ìаíèïóëÿöèÿõ ñ äåðåâüÿìè ÷àñòî âîçíèêàåò çàäà÷à ñîçäàíèè èõ êîïèé. Êàê è áîëüøèíñòâî äðóãèõ àëãîðèòìîâ àëãîðèòì êîïèðîâàíèÿ èìååò ðåêóðñèâíûõ õàðàêòåð. Îí íà÷èíàåò ðàáîòó ñ êîðíÿ è â ïåðâóþ î÷åðåäü ñòðîèò ëåâîå ïîääåðåâî óçëà, à çàòåì — ïðàâîå ïîääåðåâî. Òîëüêî ïîñëå ýòîãî ñîçäàåòñÿ íîâûé óçåë.
Декодер Артемия Лебедева (внешняя ссылка) распознает преобразование этого текста в кириллический, как CP1252 -> CP1251.
Следующий несложный макрос позволяет выполнить преобразование CP1252 -> CP1251 по всему тексту файла Word.
Примечание. В процессе написания данного макроса я столкнулся со следующей проблемой. Поиск кракозябр, соответствующих кириллическим буквам А-я, осуществляется в режиме Учитывать регистр (.MatchCase = True) с помощью кодов ^u192-^u255. Поиск и замена кириллических букв А-Я осуществляется в режиме Учитывать регистр с помощью кодов ^128-^159, а букв а-п – с помощью кодов ^160-^175. Однако, символы с кодами ^176 и далее уже не соответствуют буквам р-я. Поэтому, по аналогии с решением http://wordexpert.ru/page/psevdokirilli … -kirillicu, пришлось вводить массив sRus, содержащий все кириллические буквы.
Буду признателен, если эксперты посоветуют мне, как выполнить поиск и замену букв р-я с помощью кодов типа ^nnn.
2 Ответ от Alex_Gur 22.05.2012 14:58:51
CP1251 на кириллические буквы» title=»Замена CP1252 -> CP1251 на кириллические буквы»/>
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
- За сообщение: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
Коллега Вождь подсказал (http://wordexpert.ru/forum/viewtopic.php?id=1279), что в десятичном счислении кириллические буквы имеют коды ^u1040-^u1103.
Однако в поле «Заменить на» и в аналогичном месте в макросе параметры типа ^u0000 не принимаются.
В данной задаче же нужно рассчитать код в цикле. Поэтому оказалось очень полезным предложенное Вождем решение, которое VBA корректно принимает:
.Replacement.Text = ChrW(b1)
где b1 — это код символа в числовом формате.
Очень интересная встроенная функция ChrW, которая преобразует число в соответствующий символ Юникода!
Таким образом, можно будет обойтись без массива кириллических букв, и общий код макроса, решающего эту задачу, станет проще:
Таблицу кодов Unicode для различных символов можно найти на сайте methodichka.ru (внешняя ссылка).
Там указываются шестнадцатеричный код и в скобках — десятеричный код символа.
Например:
Шестнадцатеричный код кириллического символа А равен &H410, а его десятеричный код — 1040.
Как мы уже отмечали для перевода числа в код Unicode используется встроенная функция ChrW.
3 Ответ от maxim777 16.03.2013 21:07:05
- maxim777
- рядовой
- Неактивен
- Зарегистрирован: 16.03.2013
- Сообщений: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
Почему-то у меня нормальный текст появляется в макросе, но в ворд он не копируется. Что делать то с вашим макросом
4 Ответ от Alex_Gur 16.03.2013 21:15:19
CP1251 на кириллические буквы» title=»Замена CP1252 -> CP1251 на кириллические буквы»/>
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
- За сообщение: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
Почему-то у меня нормальный текст появляется в макросе, но в ворд он не копируется. Что делать то с вашим макросом
Что вы имеете в виду: «текст появляется в макросе».
Опишите, пожалуйста, проблему поподробнее и выложите файл.
5 Ответ от DrDen 11.02.2014 20:59:25
- DrDen
- рядовой
- Неактивен
- Зарегистрирован: 11.02.2014
- Сообщений: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
А как переделать этот макрос под эксель, чтобы так же поменять кодировку на всем листе?
6 Ответ от MCat78 16.02.2014 22:55:53
- MCat78
- рядовой
- Неактивен
- Зарегистрирован: 10.11.2013
- Сообщений: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
Макрос не обрабатывает букву «Ё». Можно ли его доработать?
7 Ответ от Alex_Gur 17.02.2014 08:51:09
CP1251 на кириллические буквы» title=»Замена CP1252 -> CP1251 на кириллические буквы»/>
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
- За сообщение: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
Макрос не обрабатывает букву «Ё». Можно ли его доработать?
По моим сведениям, Ё и ё в формате CP1252 отображаются так (прошу поправить меня, если символы другие):
Тогда макрос преобразования форматов CP1252 -> CP1251 с учетом буквы Ё проще всего написать так:
Sub changeToRus()
‘
‘ Замена кракозябр на кириллические буквы
‘ CP1252 -> CP1251
‘
For i = 192 To 255
a1 = i
a = Trim(«^u») & Trim(Str(a1))
‘ Формирование запроса для поля Найти
sRus = Array(«А», «Б», «В», «Г», «Д», «Е», «Ж», «З», «И», «Й», «К», «Л», «М», «Н», «О», _
«П», «Р», «С», «Т», «У», «Ф», «Х», «Ц», «Ч», «Ш», «Щ», «Ъ», «Ы», «Ь», «Э», «Ю», «Я», _
«а», «б», «в», «г», «д», «е», «ж», «з», «и», «й», «к», «л», «м», «н», «о», _
«п», «р», «с», «т», «у», «ф», «х», «ц», «ч», «ш», «щ», «ъ», «ы», «ь», «э», «ю», «я»)
‘ Формирование массива кириллических букв для поля Заменить
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = a
.Replacement.Text = sRus(i — 192)
.Forward = True
.Wrap = wdFindContinue
.MatchCase = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
‘ Выполнение замены по тексту
Next i
‘ Замена Ё и ё
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ChrW(168)
.Replacement.Text = «Ё»
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ChrW(184)
.Replacement.Text = «ё»
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
То есть, в конце добавляется следующая часть:
‘ Замена Ё и ё
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ChrW(168)
.Replacement.Text = «Ё»
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ChrW(184)
.Replacement.Text = «ё»
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
8 Ответ от Alex_Gur 25.02.2014 11:14:57
CP1251 на кириллические буквы» title=»Замена CP1252 -> CP1251 на кириллические буквы»/>
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
- За сообщение: 1
Re: Замена CP1252 -> CP1251 на кириллические буквы
Новый текст для проверки перекодировки с учетом ё-фикации:
Ïðè ìàíèïóëÿöèÿõ ñ äåðåâüÿìè ÷àñòî âîçíèêàåò çàäà÷à ñîçäàíèè èõ êîïèé. Êàê è áîëüøèíñòâî äðóãèõ àëãîðèòìîâ àëãîðèòì êîïèðîâàíèÿ èìååò ðåêóðñèâíûõ õàðàêòåð. Îí íà÷èíàåò ðàáîòó ñ êîðíÿ è â ïåðâóþ î÷åðåäü ñòðîèò ëåâîå ïîääåðåâî óçëà, à çàòåì — ïðàâîå ïîääåðåâî. Òîëüêî ïîñëå ýòîãî ñîçäàåòñÿ íîâûé óçåë. ¨¸
9 Ответ от Alex_Gur 25.02.2014 11:24:12
CP1251 на кириллические буквы» title=»Замена CP1252 -> CP1251 на кириллические буквы»/>
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
Re: Замена CP1252 -> CP1251 на кириллические буквы
А как переделать этот макрос под эксель, чтобы так же поменять кодировку на всем листе?
Основная проблема заключается в том, что Excel не воспринимает кодировку Юникод.
Поэтому при работе с Excel приходится использовать более сложные средства.
На сайте Excelvba.ru (внешняя ссылка) предложена универсальная функция ChangeTextCharset для перекодировки текстов в Excel из любой кодировки в любую другую.
Ниже мы адаптировали эту функцию для перекодировка всех ячеек выделенного диапазона из Windows-1252 в Windows-1251 (перед запуском макроса Перекодировка_1252_в_1251_ChangeTextCharset() необходимо выделить все ячейки, содержащие тексты только в кодировке Windows-1252):