Реклама на сайте Advertise with us

Sort() и кириллица

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 01/08/08 в 12:05       Ответить с цитатойцитата 

ajax'ом в бекэнд идет массив из строк на кириллице
стоит setlocale нужная перед обработкой
если добавляешь латиницу
то sort сортирует ее и ставит впереди кирилических строк
а кириллицу напрочь отказывается. ucfirst работает для кириллицы

крипта на ByBit

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 01/08/08 в 12:49       Ответить с цитатойцитата 

Цитата:
добавляешь латиницу то sort сортирует ее и ставит впереди кирилических строк

Это так и должно быть. А что кириллицу не сортирует, ХЗ. Пример массива можно, который из ajax приходит (через print_r или var_dump)? И какая кодировка, какой запрос GET/POST?

Power of the lime madness...

8
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 01/08/08 в 14:12       Ответить с цитатойцитата 

запрос POST
[0]=>[позиция два]
[1]=>[позиция один]
а кодировка UTF скорее всего
пробовал перекодировать - получается абракодабра
вопрос не принципиальный, просто хотелось бы знать где косяк

крипта на ByBit

0
 



С нами с 31.07.08
Сообщения: 441
Рейтинг: 416

Ссылка на сообщениеДобавлено: 01/08/08 в 17:23       Ответить с цитатойцитата 

Были проблемы с кириллицей. Использовал xAjax. Долго промучался с настройками базы, страницы, JS и PHP частей библиотеки xAjax.... Все бестолку, даже когда везде все стояло одинаково.

Решением стало использование версии xAjax 0.2.4
Почему-то именно эта версия работала с кириллицей даже без настроек и при несовпадении кодировок... icon_eek.gif

8
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 04/08/08 в 07:55       Ответить с цитатойцитата 

Sterx:
POST запрос JQuery скорее всего идёт в UTF (по аналогии с другими либами, с JQuery пока не работал плотно), а юникод плохо обрабатывается функциями типа sort:
Цитата:
Functions like sort, when sorting alphanumerically, will lack the knowledge to know how to sort multi byte UTF-8 characters in a manner which is semantically correct. sort will still sort ASCII 7 characters correctly (semantically correct) but will only be able to sort multibyte UTF-8 characters based on their byte-by-byte values.


Думаю, отсортировать можно либо конвертнув через iconv в нужную кодировку, либо через сравнение мультибайтовых строк в коллбэк функции для usort.

Power of the lime madness...

8
 



С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430

Ссылка на сообщениеДобавлено: 04/08/08 в 09:51       Ответить с цитатойцитата 

Ну данные идут точно в UTF
Код:

function strutf($a,$b){
  return strcmp(iconv('UTF8','cp1251',$a),iconv('UTF8','cp1251',$b));
}
usort($_POST,'strutf');

Попробуй так

8
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »