Я работаю с данными об адресах в Великобритании, а также с данными о международных адресах.
Мне нужно геокодировать адресные данные для использования на карте Google. Я делаю это с помощью службы HTTP. Т.е. / Построение строки запроса и передача ее в file_get_contents ($ THEURL).
Мне удалось точно геокодировать 80% адресных данных, однако те адреса в таких странах, как Норвегия и Швеция, содержащие специальные символы, не возвращают геокод. Код возвращается 602 (не удается найти адрес).
Просматривая документацию, я вижу, что строка, отправляемая в Google, должна быть в кодировке UTF8.
Я попробовал следующее, чтобы убедиться, что строка в кодировке UTF8 / удалить специальные символы.
1) Использование кодировки UTF8 в строке запроса - это часто приводит к отображению на экране некорректных символов.
2) mb_check_encoding сообщает, что строка правильно закодирована.
3) Использование функции для подстановки специальных символов в свои европейские эквиваленты (в надежде, что Google API это компенсирует.
Может кто-нибудь предложить причину, по которой мой метод не работает (с кодировкой или нет?).