Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: jQuery autocomplete и кодировка
Покинул форум
Сообщений всего: 40
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
Проблема вроде достаточно распространенная, и читал уже много на эту тему, но никак не получается у меня. Суть в то, что надо организовать опережающий ввод текста, были выбраны jQuery (поскольку используется в проекте) и плагин к ней autocomplete.
Исходный проект достаточно старый и весь сделан в windows-1251. А jQuery, как я понял, понимает только utf.
Потому при вводе русских символов jQuery отдает кракозябры. Пробую в обработчике организовать конвертирование в windows-1251, тоже самое.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Polaris пишет:
А jQuery, как я понял, понимает только utf
А сами JS-файлы сохранены в какой кодировке - тоже в windows-1251? И еще в самом JS-коде не используются ли функци escape/unescape - они ведь работют именно с юникодным текстом
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Polaris
Отправлено: 26 Марта, 2010 - 07:05:47
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
SAD
Спасибо, так действительно работает.
Есть один момент - мне интересно, насколько верно с точки зрения нагрузки на сервер в autocomplete.php каждый раз открывать и закрывать соединение с базой? Смотрю top'ом нагрузку - несколько скачет, несущественно правда...
Darksynx
Отправлено: 26 Марта, 2010 - 09:39:39
Новичок
Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2010
Помог: 0 раз(а)
Polaris пишет:
SAD
Спасибо, так действительно работает.
Есть один момент - мне интересно, насколько верно с точки зрения нагрузки на сервер в autocomplete.php каждый раз открывать и закрывать соединение с базой? Смотрю top'ом нагрузку - несколько скачет, несущественно правда...
Чтобы снизить нагрузку:
1. Сделайте индекс в таблице для поля, по которому идёт поиск. В данном случае нагрузка сократится в разы.
2. Посмотрите в сторону кэширования. Можно даже memcached.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Polaris пишет:
Каждый раз открывать и закрывать соединение с базой?
На самом деле это сильно неоптимизированное решение потому что именно соединение с базой занимает самое большое время - по крайней мере по сравнению с выполнением несложного запроса
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Polaris
Отправлено: 26 Марта, 2010 - 12:23:37
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
Darksynx пишет:
Сделайте индекс в таблице для поля, по которому идёт поиск. В данном случае нагрузка сократится в разы
В данном случае я выбираю из view, а создание индексов на них вроде невозможно, только на базовую таблицу. А если в базовой таблице записей в десятки раз больше, имеет ли смысл создавать в ней индекс на искомое поле?
JustUserR пишет:
На самом деле это сильно неоптимизированное решение потому что именно соединение с базой занимает самое большое время - по крайней мере по сравнению с выполнением несложного запроса
А как лучше поступить? Можно ссылку или наводку хотя бы?
В принципе, проект не сказать чтобы сильно посещаемый, но хочется на будущее уметь.
JustUserR
Отправлено: 26 Марта, 2010 - 15:07:06
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Polaris пишет:
А как лучше поступить? Можно ссылку или наводку хотя бы?
В принципе, проект не сказать чтобы сильно посещаемый, но хочется на будущее уметь.
Да об оптимизации лучше задуматься заранее
Как вариант можно попробовать создать непрервыное JS-соединение (При условии статичности страницы и достаточной частоты запросов с PHP-скриптом котрый в свою очередь будет держать соединение с базой данных Тут важно найти баланс - вам более важно иметь возможность поддерживать частоту запросов от одного пользователя ини наоборот
Нечто похожее реализовано здесь http://dklab[dot]ru/lib/dklab_realplexor/
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.