Неправильный ввод UTF-8, укажите кодировку!Байты: 0xA0 0x20 0x42 0x72 в - геокодер Google - PullRequest
0 голосов
/ 30 января 2012

Не могли бы вы помочь мне в этом?У меня большой список адресов геокодирования, и он продолжает выдавать эту ошибку:

Предупреждение: simplexml_load_file () [function.simplexml-load-file]: http://maps.google.com/maps/geo?output=xml&key=KEY&q=928+Broadway%A0+Brooklyn%2C+11206+%2C+:3: Ошибка синтаксического анализатора: Вводнеправильный UTF-8, укажите кодировку!Байты: 0xA0 0x20 0x42 0x72 в

Есть ли способ решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 30 января 2012

Вам следует переключиться на Google Maps API Геокодирование Веб-сервис .Ваш запрос будет выглядеть примерно так:

http://maps.googleapis.com/maps/api/geocode/xml?address=928+Broadway+Brooklyn+11206&sensor=true&key=KEY
0 голосов
/ 30 января 2012

Ошибка вызвана% A0, который является Latin-1 для неразрывного пробела.Для английского языка, вероятно, было бы достаточно заменить это пробелом (закодировано как +);здесь его можно удалить.

Вы также можете сделать utf8_encode($city).

0 голосов
/ 30 января 2012

Ваш ввод не является документом UTF-8. 0xA0 будет следующим байтом последовательности из 2–4 байтов (0xA0 равен 10100000, все начальные байты начинаются с 11, а все однобайтовые символы начинаются с нуля), но здесь он отображается как ведущий байт.

Это, вероятно, означает, что ваш документ либо поврежден (согласно определениям XML, он не правильно сформирован), либо он был создан с использованием кодовой страницы (или, что очень маловероятно, UTF-16).

Вы должны будете сообщить вашему синтаксическому анализатору XML, как переводить символы за пределы диапазона 0-128 ASCII, или удалять ошибочные последовательности байтов, как считаете нужным.

Альтернативой является использование более терпимого парсера, такого как Beautiful Soup.

Вы должны быть очень рады, что получили сообщение об ошибке - единственное, что может произойти, - это тихая коррупция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...