loadURL в OL не возвращает ответ (missing)
-
- Интересующийся
- Сообщения: 28
- Зарегистрирован: 08 дек 2009, 13:07
- Репутация: 0
loadURL в OL не возвращает ответ (missing)
Всем привет.
Задумался над поиском объектов (улица+дом) при помощи WFS на базе MapServer.
Столкнулся с проблемой - если указать просто номер дома, то возвращается нормальный ответ от wfs, если задать еще и улицу (русский 1251) - ответ один - missing...
Самое интересное, что если ввести в браузере эту строчку, ответ от wfs приходит абсолютно замечательный...
Не могу понять, что же мне делать - куда копать ?
WFS настроен на ср1251
ХЕЛП НИД )
Задумался над поиском объектов (улица+дом) при помощи WFS на базе MapServer.
Столкнулся с проблемой - если указать просто номер дома, то возвращается нормальный ответ от wfs, если задать еще и улицу (русский 1251) - ответ один - missing...
Самое интересное, что если ввести в браузере эту строчку, ответ от wfs приходит абсолютно замечательный...
Не могу понять, что же мне делать - куда копать ?
WFS настроен на ср1251
ХЕЛП НИД )
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: loadURL в OL не возвращает ответ (missing)
А OL какой запрос посылает?
Если дело в кодировках, попробуйте encodeURIComponent().
Если дело в кодировках, попробуйте encodeURIComponent().
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 28
- Зарегистрирован: 08 дек 2009, 13:07
- Репутация: 0
Re: loadURL в OL не возвращает ответ (missing)
Пробовал, не помогает )
Запрос обычный - <Filter><AND>Условия с русскими буквами</AND></Filter>
Удивительно то, что этот же запрос через браузер работает, а через loadURL - неа...
Запрос обычный - <Filter><AND>Условия с русскими буквами</AND></Filter>
Удивительно то, что этот же запрос через браузер работает, а через loadURL - неа...
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: loadURL в OL не возвращает ответ (missing)
Откройте firebug и посмотрите какой запрос уходит на UMN. Еще лучше, если скопируете его сюда.
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 28
- Зарегистрирован: 08 дек 2009, 13:07
- Репутация: 0
Re: loadURL в OL не возвращает ответ (missing)
/cgi-bin/mapserv?map=../map.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=getfeature&typename=building&Filter=<Filter><AND><PropertyIsEqualTo><PropertyName>StreetName</PropertyName><Literal>Гагарина</Literal></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>NAME</PropertyName><Literal>8</Literal></PropertyIsEqualTo></AND></Filter>
в браузере дает корректный ответ... через запрос loadURL - ответ missing...
в браузере дает корректный ответ... через запрос loadURL - ответ missing...
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: loadURL в OL не возвращает ответ (missing)
Внешне все правильно. Включите отладочные сообщения:
Может там какие ошибки всплывут?
Код: Выделить всё
MAP
...
CONFIG "MS_ERRORFILE" "d:\work\dbg.txt"
DEBUG 5
...
END
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 28
- Зарегистрирован: 08 дек 2009, 13:07
- Репутация: 0
Re: loadURL в OL не возвращает ответ (missing)
Любопытно.. там по-сути сплошные ошибки )
большинство домов в шейп-файле не пронумеровано и не прописана улица...
Код: Выделить всё
[Fri Apr 16 19:39:07 2010].568769 msEvalRegex(): Regular expression error. String failed expression test.
[Fri Apr 16 19:39:07 2010].569004 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569014 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND ( = 10)
[Fri Apr 16 19:39:07 2010].569123 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569128 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND ( = 10)
[Fri Apr 16 19:39:07 2010].569178 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569183 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND ( = 10)
[Fri Apr 16 19:39:07 2010].569219 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569224 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (8. = 10)
[Fri Apr 16 19:39:07 2010].569383 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569388 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (11.1 = 10)
[Fri Apr 16 19:39:07 2010].569420 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569425 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (15. = 10)
[Fri Apr 16 19:39:07 2010].569446 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].569451 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (15. = 10)
[Fri Apr 16 19:39:07 2010].569501 msyyparse(): Expression parser error. syntax error
...................................
[Fri Apr 16 19:39:07 2010].654882 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (10.1 = 10)
[Fri Apr 16 19:39:07 2010].654904 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].654909 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (6.1 = 10)
[Fri Apr 16 19:39:07 2010].654989 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].654993 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (2.1 = 10)
[Fri Apr 16 19:39:07 2010].655071 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].655075 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND (4.1 = 10)
[Fri Apr 16 19:39:07 2010].655097 msyyparse(): Expression parser error. syntax error
[Fri Apr 16 19:39:07 2010].655101 msEvalExpression: Expression parser error. Failed to parse expression: ("" = "Гагарина") AND ( = 10)
[Fri Apr 16 19:39:07 2010].655153 msQueryByRect(): Search returned no results. No matching record(s) found.
[Fri Apr 16 19:39:07 2010].655239 mapserv request processing time (msLoadMap not incl.): 0.087s
[Fri Apr 16 19:39:07 2010].655260 msFreeMap(): freeing map at 0x9a571d0.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: loadURL в OL не возвращает ответ (missing)
Перечитал топик. Если вручную работает, то как бы сама напрашивается проблема с кодировками.
Попробуйте сравнить запросы от OpenLayers и "вручную через браузер" в логах Apache
\OSGeo4W\apache\logs\access.log
\ms4w\apache\logs\access.log
Попробуйте сравнить запросы от OpenLayers и "вручную через браузер" в логах Apache
\OSGeo4W\apache\logs\access.log
\ms4w\apache\logs\access.log
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 28
- Зарегистрирован: 08 дек 2009, 13:07
- Репутация: 0
Re: loadURL в OL не возвращает ответ (missing)
Разница, кажется, вот в чем - ул. "Талвира" запрашивается OL таким словом:
%D0%A2%D0%B0%D0%BB%D0%B2%D0%B8%D1%80%D0%B0
Браузер, видимо, перекодирует это в такое слово:
%D2%E0%EB%E2%E8%F0%E0
Второе слово, например, получается в результате перекодировки ф-цией urlencode() в php, как перевести в яваскрипте в такое слово - пока загадка для меня )
%D0%A2%D0%B0%D0%BB%D0%B2%D0%B8%D1%80%D0%B0
Браузер, видимо, перекодирует это в такое слово:
%D2%E0%EB%E2%E8%F0%E0
Второе слово, например, получается в результате перекодировки ф-цией urlencode() в php, как перевести в яваскрипте в такое слово - пока загадка для меня )
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: loadURL в OL не возвращает ответ (missing)
То что выдал OpenLayers - Талвира. Та же "Талвира", только в кодировке UTF-7.
Окончательное преобразование в Q.P. (Quoted Printable) и браузер и OL провели одинаково.
Смотрите как вы считываете ввод пользователя. Это уже не ГИС, а обычное веб-программирование.
Окончательное преобразование в Q.P. (Quoted Printable) и браузер и OL провели одинаково.
Смотрите как вы считываете ввод пользователя. Это уже не ГИС, а обычное веб-программирование.
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 28
- Зарегистрирован: 08 дек 2009, 13:07
- Репутация: 0
Re: loadURL в OL не возвращает ответ (missing)
После доооолгих ковыряний, случайно наткнулся на интересную функцию:
rawurlencode на jscript...
Ссылка для столкнувшихся с проблемой -
http://hghltd.yandex.net/yandbtm?qtree= ... vs-ajax%2F
Длинная, потому что оригинальная страница у меня не открылась (http://webiteam.ru/2009/04/cp1251-vs-ajax/)
Всем спасибо, в который раз убеждаюсь - Кто ищет, тот найдет
Все заработало, хотя...
Задумываюсь о переводе TAB-файлов мапинфо в утф-8 - ни у кого нет соображений, как это можно сделать НЕ вручную ?
rawurlencode на jscript...
Ссылка для столкнувшихся с проблемой -
http://hghltd.yandex.net/yandbtm?qtree= ... vs-ajax%2F
Длинная, потому что оригинальная страница у меня не открылась (http://webiteam.ru/2009/04/cp1251-vs-ajax/)
Всем спасибо, в который раз убеждаюсь - Кто ищет, тот найдет

Задумываюсь о переводе TAB-файлов мапинфо в утф-8 - ни у кого нет соображений, как это можно сделать НЕ вручную ?
Кто сейчас на конференции
Сейчас этот форум просматривают: Semrush [Bot] и 2 гостя