Возможные способы сортировки записей, в которых используются неанглийские шрифты?

Я использую шрифты Devnagari в своем приложении. Каждый английский ключ на клавиатуре представляет определенный символ в Devnagari. Например, мое имя Sabin на английском языке, но когда я использую шрифт devnagari, он будет «отставать» без кавычек. И записи сохраняются таким образом в базе данных. Теперь у меня проблемы с сортировкой записей.

В девнагари вначале появляются гласные Девнагари, а затем алфавиты девнагари. Подобно c, cf, O, O {, p, pm, …… [каждый разделен запятой] Затем эквивалент алфавитов devnagari, начиная с первых, s, v, u, #, … и т. Д. [ каждая из которых разделена запятой].

Задача I m – сортировать имена по алфавиту в devnagari. Любая идея будет высоко оценена. Благодаря!

Изменить: массив возвращался как следующий, который должен использовать функцию usort.

Array ( [0] => stdClass Object ( [user_id] => NLK32437 [first_name] => ;lag [last_name] => %]qL [email_address] => test1@msn.com [mobile_number] => 9834874582 [description] => g]kfn [date_joined] => 08-AUG-12 [status] => 1 [username] => user1 [userpassword] => 691f9298642af07c2d6ea8fef56074201e077b34 ) [1] => stdClass Object ( [user_id] => NLK32435 [first_name] => clgn [last_name] => zdf{ [email_address] => test2@msn.com [mobile_number] => 984134354 [description] => g]kfn [date_joined] => 08-AUG-12 [status] => 1 [username] => user2 [userpassword] => 0e025eade868b4b481f41ff7449bc1967261e170 ) ) 

Вы злоупотребляете текстовыми кодировками. Вы сохраняете свой текст в виде кодовых страниц, предназначенных для других вещей, и используете только шрифт, который делает оригинальные английские буквы как нечто другое. Это совершенно неверный путь.

Есть несколько кодировок, которые позволяют вам сохранять Деванагари в качестве фактических персонажей Деванагари. Он поддерживается в Unicode . Сохраните текст в качестве фактических символов Деванагари, которым они должны были быть, не перегружайте существующие английские кодовые точки и не зависеть от сломанного шрифта. Затем вы получите функцию сортировки и многое другое, что поддерживает Unicode.


usort не менее простой пример использования:

 usort($array, function ($a, $b) { static $order = array('M', 'A', ';', 'L', ...); return array_search($a, $order) - array_search($b, $order); }); 

Ну, я просто получил его, после попытки. Спасибо @deceze и @dualed. Вот что я сделал

 usort($array, function ($a, $b) { static $order = array('c', ';', 'g', 'L'); return array_search($a->first_name, $order) - array_search($b->first_name, $order); });