[PHP5] Geocoding xml ophalen met simplexml => encoding error

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer via google geocoding (http://maps.google.com/maps/geo?&output=xml) een xml (UTF-8) binnen te trekken op mijn server via simplexml en wil hier verdere berekeningen mee doen. Echter krijg ik een encoding probleem als er 'vreemde' karakters instaan, Zürich: ik krijg melding
code:
1
parser error : Input is not proper UTF-8, indicate encoding !
. Nu heb ik al vanalles geprobeert, internal encoding ed. op UTF-8 gezet, charset op UTF-8, header op UTF-8... ik krijg het niet gedaan om rechtstreeks die xml binnen te halen.

Het enige wat ik kan doen, met fopen de xml binnenhalen, opslaan met utf8_encode en deze file met simplexml_load_file openen, dan krijg ik alles correct.

Wat kan er nog fout gegaan zijn behalve dat de google xml niet valid utf-8 is?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
http://www.codesimple.net...s-utf-8-problem_9034.html :Y)
Meer:
Assuming that you have the iconv support compiled in, can you check whether adding the line

$string = iconv('ISO-8859-1', 'UTF-8', $string);

between the getResponseBody() call and the simplexml_load_string() call ... fixes this for you?
Ik ben geen PHP-er, maar het lijkt me dat je hier wel eens naar zou kunnen kijken of het je probleem oplost (en de eerste link verwijst naar een mogelijke oorzaak).

[ Voor 93% gewijzigd door RobIII op 04-01-2008 20:58 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 23:30
PHP:
1
2
$geocodeXMLstring  = file_get_contents('google_geocode_url');
$geocodeXMLElement = new SimpleXMLElement(utf8_encode($geocodeXMLstring));


:?

Header, charset etc op UTF8 zetten zal weinig helpen, het is de SimpleXMLElement class die enkel UTF8 slikt :)

[ Voor 26% gewijzigd door FragFrog op 05-01-2008 00:46 ]

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
FragFrog schreef op zaterdag 05 januari 2008 @ 00:43:
PHP:
1
2
$geocodeXMLstring  = file_get_contents('google_geocode_url');
$geocodeXMLElement = new SimpleXMLElement(utf8_encode($geocodeXMLstring));


:?

Header, charset etc op UTF8 zetten zal weinig helpen, het is de SimpleXMLElement class die enkel UTF8 slikt :)
Thanks, dat is de oplossing