Google Geocode: PHP implimentation - karakter kodlama sorunları

1 Cevap php

Ben İngiltere adres verisi ve aynı zamanda Uluslararası adres veri ile çalışıyorum.

Ben bir google harita üzerinde kullanmak için adres verilerini geocode gerekir. Ben HTTP hizmetini kullanarak yapıyorum. Yani / bir sorgu dizesi oluşturma ve file_get_contents ($ THEURL) geçirmeden.

Ben ancak özel karakterleri içeren Norveç ve İsveç'teki gibi ülkelerde bu adresleri döndürülen bir geocode.The kodu (bir adresimin bulamıyorum) 602 dönmeyecek, mükemmel adres veri% 80 geocode başardınız.

Belgelerin bakarak google gönderilen dize UTF8 kodlanmış olması gerektiğini görebilirsiniz.

Ben UTF8 / kodlanmış özel karakterleri kaldırmak dize sağlamak için aşağıdakileri denedim.

1) sorgu dizesinde UTF8 kodlamaya kullanarak - bu genellikle ekranda görüntülenen biçimlendirilmiş karakter sonuçlanır.

2) mb_check_encoding dize corrrectly kodlanmış bildirir.

3) umut google api onların europiene eqivilents için özel charcters (değişimi için bir işlevi kullanarak telafi edecektir.

Benim yöntemi çalışmıyor neden kimse bir sebep önerebilirsiniz (kodlama ile ya da yapmak isteyip?).

1 Cevap

Sen sistematik sistem her kodlama yönü geçmesi ve burada iyi bir yaklaşım değildir Mb_detect_encoding ve varsayımları içeri ne kodlayan tanımlamak gerekir.

Sen kodlamasını kontrol etmeniz gerekir:

  • incoming data
    • sayfaları
    • GET parametrelerini
    • veritabanı bağlantısı
    • veritabanı tablo alfabe
  • script ile çalışmak dosyaları

Biçimlendirilmiş karakterler meydana varsa, şansını ISO-8859-1 veya yerde bazı diğer non-UTF-8 kodlaması kullanılarak vardır. Her şey temiz UTF-8 olduğunda, istek geçmesi gerekir.

Temel üzerinde çok iyi bir yazıdır The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!).