| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Json::XS + jquery.autocomplete |
| Автор: Vampir41k 17.6.2010, 23:23 |
| Хотелось сделать автокомплит в поиске, делаем все это на perl + jquery. Перл скрипт исходя из того что ввели в inpute достает из mysql подходящие данные (SELECT name FROM .... LIKE <данные из GET> LIMIT 5) (в скуль запрос из гета строка попадает в нормалной кодировке и в результате запроса получаем масив искомых строк) потом через Json::XS кодируем и возращаем в jquey.autocomplete("backend.pl"); Возникла проблема в том что данные которые будут подставляться на выходе получаются кракозябрами вместо кириллицы К сожалению именно в этот момент кинуть код не имею возможности, но хотелось бы увидеть хоть какие то мысли по этому поводу. Посылки в гугль не принимаю - гуглил очень долго и безрезультатно... зы пишем на Linux, БД и все остальное в UTF |
| Автор: gcc 18.6.2010, 02:53 |
| Json::XS не много хитро чем Json.pm пробовали то что тут написано http://search.cpan.org/~mlehmann/JSON-XS-2.29/XS.pm ? Попробуй в скрипте сделать отладочный вывод в консоль пришедшей строки и обработанной, перед отдачей клиенту. После этого станет понятно, где проблема и что копать дальше. можно еще JSON::PP, он не медленнее и даже быстрее |
| Автор: Vampir41k 18.6.2010, 10:23 |
| джава ($.getJSON ) получает такое [{"98452":"\u00d0\u0092\u00d0\u00b0\u00d1\u0085\u00d1\u0080\u00d1\u0083\u00d1\u0088\u00d0\u00b5\u00d0\u00b2\u00d0\u00b0"}] а дает такое ![]() Судя по скрину число 23 прошло нормально и даже нашло соответствие в базе |
| Автор: gcc 18.6.2010, 10:47 | ||
попробуйте, так:
|
| Автор: Vampir41k 18.6.2010, 11:21 | ||
переменная $t это то что получает jquery( |
| Автор: gcc 18.6.2010, 11:50 | ||
может быть так:
PS: у меня такая проблема была, по-моиму она не так решается, хотя возможно я там что-то перепутал, я просто использовал JSON::PP или JSON |
| Автор: Vampir41k 18.6.2010, 11:51 |
| Все тема закрыта, бока были из за $json_xs->ascii(1); |