параметр адреса геокодированной веб-службы, написанный на другом языке - PullRequest
1 голос
/ 03 апреля 2010

Я пытаюсь использовать следующую веб-службу Google Map для поиска греческих адресов: http://maps.google.com/maps/api/geocode/json?address=Ακαδημίας 16 & sensor = false, и это не работает. Если я нажимаю на тот же адрес, но пишу его буквами латинского алфавита: maps.google.com/maps/api/geocode/json?address=akadimias 16 & sensor = false, это работает и возвращает правильный результат. Может ли кто-нибудь помочь с этим? (Чтобы использовать этот сервис с греческими буквами в качестве параметра языка)

Заранее спасибо,

Николай

1 Ответ

1 голос
/ 05 мая 2010

Вы должны кодировать символы. В Python вы можете сделать:

import urllib
address = 'Ακαδημίας'
encoded_address = urllib.quote(address)
query = 'http://maps.google.com/maps/api/geocode/json?address='+encoded_address+'&sensor=false'

Поскольку я не знаком с греческим языком, я не знаю, следует ли читать «Ακαδημίας» или «Ακαδημίας 16», но в приведенном выше примере кодированный адрес равен

'%CE%91%CE%BA%CE%B1%CE%B4%CE%B7%CE%BC%CE%AF%CE%B1%CF%82'

и похоже на работу. Я думаю, у вас есть похожие методы в PHP или что вы хотите использовать. Для PHP взгляните на Проблема с греческими символами URL в IE

...