Транслитерация казахских символов на кириллицу

В ходе работы пришлось столкнуться с тем, что не все символы казахского языка можно использовать в некоторых местах. Например, если кодировка отлична от utf-8 или при сохранении в базу символы заменяются на html сущности и т.п. Пришел к выводу, что нужен какой-то универсальный способ отобразить эти символы к приближенным кириллическим. В этом мне помогла табличка с блога пользователя Naik. За что ему большое спасибо.

Символ Код в HTML Код в JavaScript
Ә   ә Ә   ә \u04D8   \u04D9
Ұ   ұ Ұ   ұ \u04B0   \u04B1
І   і І   і \u0406   \u0456
Ң   ң Ң   ң \u04A2   \u04A3
Ғ   ғ Ғ   ғ \u0492   \u0493
Ү   ү Ү   ү \u04AE   \u04AF
Қ   қ Қ   қ \u049A   \u049B
Ө   ө Ө   ө \u04E8   \u04E9
Һ   һ Һ   һ \u04BA   \u04BB

А вот и код функции транслитерации:

function transliterate($st) {
    $replaces = array(
        array('Ә','ә','Ә','ә','Ғ','ғ','Ғ','ғ','Қ','қ','Қ','қ',
              'Ө','ө','Ө','ө','Ң','ң','Ң','ң','Ұ','ұ','Ұ','ұ',
              'Ү','ү','Ү','ү','Һ','һ','Һ','һ','І','і','І','і'),
        array('А','а','А','а','Г','г','Г','г','К','к','К','к',
              'О','о','О','о','Н','н','Н','н','У','у','У','у',
              'Y','y','Y','y','h','h','h','h','I','i','I','i')
    );
    return str_replace($replaces[0], $replaces[1], $st);
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *