gifts2017

Транслитерация из латиницы в кириллицу

Опубликовал Сергей Поликарпов (Serega-artem) в раздел Программирование - Практика программирования

Обработка (пример) для перевода текста (в основном, имен собственных) из латиницы в кириллицу.

Доброго времени суток, коллеги!  Не так давно, в работе над одним из проектов, возникла необходимость переводить текст (имена и фамилии клиентов) из латиницы  в кириллицу, т.к. в выгрузке из платежной системы они были именно в таком виде, а в БД, естественно, они были "вбиты" с кириллическими ФИО.

Функций транслитерации из кириллицы в латиницу - тьма, а вот того, чтобы работало в обратную сторону, я особо не нашел. Пришлось делать самому, вот делюсь, может, кому-то пригодится. На особую оригинальность идеи и алгоритма отнюдь не претендую.   

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Транслитерация
.epf 8,71Kb
02.07.15
9
.epf 1.0 8,71Kb 9 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Константин Исиченко (IsiKosta) 26.02.16 10:53
"Функций транслитерации из кириллицы в латиницу тьма" - можешь выслать хоть одну для 1С8 на isihome@yandex.ru ?
2. Сергей Поликарпов (Serega-artem) 26.02.16 15:45
(1) IsiKosta, Ну вот, например.

Функция Транслит(СтрокаТекста) Экспорт
    стрРус = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчш­щъыьэюя";
    стрEng = "A///B///V///G///D///E///YO//ZH//Z///I///Y///K///L///M///N//­/O///P///R///S///T///U///F///H///TS//CH//SH//SHCH'///Y///'//­/E///YU//JA//a///b///v///g///d///e///yo//zh//z///i///y///k//­/l///m///n///o///p///r///s///t///u///f///h///ts//ch//sh//shc­h'///y///'///e///yu//ja//";
    Результат = "";
    Для Сч = 1 по СтрДлина(СтрокаТекста) Цикл
        Символ = Сред(СтрокаТекста, Сч, 1);
        Позиция = Найти(стрРус, Символ);
        Если Позиция = 0 Тогда
            Результат = Результат + Символ
        Иначе
            Результат = Результат + СтрЗаменить(Сред(стрEng, (Позиция - 1) * 4 + 1, 4), "/", "")
        КонецЕсли
    КонецЦикла;
    Возврат Результат
КонецФункции
...Показать Скрыть
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа