Benutzer mit den meisten Antworten
Unicode und Google Maps

Frage
-
Hallo,
ich rufe mir mittels
WebBrowser.Navigate URL:="http://maps.google.de/maps/geo?q=" & GeoWert & "&output=csv
einen Geowert von GoogleMaps herunter.Die Variable GeoWert enthält dabei die Strasse und die PLZ.
Das funktioniert prima, bis auf den Fall, wenn die Strasse Sonderzeichen wie ä,ö ü und ß enthält.
Wie muss denn der Aufruf lauten, bzw. der Wert der Strasse angepasst werden,
damit auch Strassen mit Sonderzeichen angezeigt werden ?
Der Weg über punycode und ersetzen des ü durch ü haben leider keinen Erfolg gebracht.
Grüße, Uli.
Antworten
-
Hallo Ulrich,
hab selber nochmal nachgeschaut und festgestellt. dass Google Maps da wohl generell ein Problem mit Umlauten hat, egal ob die jetzt codiert sind oder direkt angegeben werden. Das Umschreiben der Umlaute mit "ue" für "ü" bspw. hat dagegen funktioniert. Ggf. kannst Du dann auf die Encoding Funktion verzichten und ersetzt nur die Umlaute im Query String entsprechend.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Thorsten DörflerModerator Freitag, 10. Juni 2011 09:30
Alle Antworten
-
Hallo Ulrich,
Umlaute und andere Sonderzeichen im URL werden meist in hexadezimaler Form codiert. Mit Punycode oder HTML Entitäten hat das wenig zu tun. Passende Methoden zum Umwandeln findest Du u.a. hier:
URLEncode und URLDecode
http://www.vbarchiv.net/tipps/tipp_139-urlencode-und-urldecode.htmlURL-Encoding
http://de.wikipedia.org/wiki/URL-Encoding
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de -
Hallo Thorsten,
vielen Dank vorab, das Encoden hat soweit funktioniert. Der String sieht jetzt so aus:
http://maps.google.com/maps/geo?q="Auf dem St%FCh 21, 29353 Ahnsbeck"&output=csv
Leider verwertet google diesen String trotzdem nicht, da kein Geowert angezeigt wird.
Hast Du evtl. noch eine andere Anregung für mich ? Muss ich noch eine weitere Umwandlung vornehmen ?
-
Hallo Ulrich,
hab selber nochmal nachgeschaut und festgestellt. dass Google Maps da wohl generell ein Problem mit Umlauten hat, egal ob die jetzt codiert sind oder direkt angegeben werden. Das Umschreiben der Umlaute mit "ue" für "ü" bspw. hat dagegen funktioniert. Ggf. kannst Du dann auf die Encoding Funktion verzichten und ersetzt nur die Umlaute im Query String entsprechend.
Thorsten Dörfler
Microsoft MVP Visual Basic
vb-faq.de- Als Antwort markiert Thorsten DörflerModerator Freitag, 10. Juni 2011 09:30