Frage

Ich arbeite mit dem britischen Adressdaten und auch Internationale Adressdaten.

Ich brauche die Adressdaten für den Einsatz auf einer Google-Karte geocodiert. Ich tue dies, den HTTP-Dienst verwenden. Ie / eine Abfragezeichenfolge Constructing und es file_get_contents ($ THEURL) vorbei.

Ich habe es geschafft, 80% der Adressdaten geocodiert perfekt, aber diese Adressen in Ländern wie Norwegen und Sweeden die Sonderzeichen enthalten einen geocode.The Code nicht wieder zurückgegeben wird, ist 602 (kann keine Adresse finden).

Ein Blick in die Dokumentation kann ich sehen, dass die Zeichenfolge an Google gesendet muss UTF8 codiert.

Ich habe versucht, die im Anschluss an die Zeichenfolge, um sicherzustellen, UTF8 codiert / die Sonderzeichen entfernen.

1) Unter Verwendung von UTF-8 kodieren auf dem Query-String -. Dies führt oft zu fehlerhaften Zeichen auf dem Bildschirm angezeigt werden,

2) mb_check_encoding berichtet die Zeichenfolge richtig codiert.

3) Mit Hilfe einer Funktion Sonderzeichen für thier europiene eqivilents substitue (in der Hoffnung, google api wird kompensieren.

Kann mir jemand einen Grund vorschlagen, warum meine Methode nicht funktioniert (ob mit Codierung zu tun oder nicht?).

War es hilfreich?

Lösung

Sie müssen systematisch in Ihrem System durch jede Codierung Aspekt gehen und definieren, was es codiert ist in. Mb_detect_encoding und Vermutungen sind kein guter Ansatz hier.

Sie müssen die Codierung überprüfen:

  • eingehende Daten
    • Seiten
    • GET-Parameter
    • Datenbankverbindung
    • Datenbanktabelle Sortierungen
  • die Skriptdateien arbeiten Sie mit

Wenn ungültige Zeichen auftreten, stehen die Chancen, Sie verwenden ISO-8859-1 oder eine andere Nicht-UTF-8-Codierung irgendwo. Wenn alles sauber UTF-8 ist, sollte der Antrag durchgehen.

Ein sehr guter Artikel über die Grundlagen ist der absolute Minimum Jeder Software-Entwickler absolut positiv muss wissen, Über Unicode und Zeichensätze (keine Ausreden!) .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top