Yazdığım ufak bir projede cURL ile çektiğim JSON verisini bir türlü PHP’de json_decode fonksiyonu ile kullanamıyordum. Nedenini araştırıp buldum. Hem kodları kaybetmeyeyim, hemde benzer problem ile karşılaşanlara yardımcı olayım dedim.

UTF-8 ile hayatımıza girmiş olan BOM (Byte Order Mark), dosyanın UTF-8 formatında olduğunu belirtmek için eklenen bir başlıktır. Dosyanın başına eklenen unicode U+FEFF karakteridir. Hex olarak 0xEF,0xBB,0xBF; ascii olarak  karakterlerine karşılık gelir. Bu karakterlerin dosyanın başında bulunması bazı zamanlarda sorunlara yol açar. Örneğin benim durumumda JSON verisi olarak çektiğimi sandığım veride aslında ilk başındaki BOM yüzünden JSON olarak kullanamadım. Görülebilen bir karakter olmadığı için de hemen fark edilmiyor.

Benzer bir durumla karşılaştığınızda aşağıdaki kodla gelen veriyi bin2hex fonksiyonu ile 16lık sisteme dönüştürerek efbbbf karakterlerinin olup olmadığına bakıyoruz. Eğer varsa bunları siliyoruz.

if (0 === strpos(bin2hex($data), 'efbbbf')) {
$data = substr($data, 3);
}

Google Now artık Türkçe komutları algılıyor. Bu, uzun süredir Android ve Google Now kullanıcılarının beklediği birşeydi. Artık Türkçe komutlara destek verilmeye başlandı.

Ben yaklaşık 1 ay önce Türkçe desteğini; Tasker, AutoVoice ve AutoContact eklentileri ile yapmıştım. Arama, SMS ve e-posta gönderme özelliklerini sesle kullanabiliyordum ancak bugün gördüğüm kadarıyla Türkçe komutlar destekleniyor.

Öncelikle Google Now ayarlarından “Dil” ayarına Türkçe’yi eklemeniz gerekiyor. Ben telefonun dilini ingilizce kullandığım için burada öncelikli dil olarak İngilizce, ek dil olarak Türkçe seçili. Bu şekilde düzgün çalıştığına göre ana dil olarak seçtiğinizde de çalışır diye düşünüyorum.

Şimdilik çalışan komutlar:

  • ara [kişi]
  • mesaj gönder [kişi] [mesaj]
  • eposta [kişi] [mesaj]
  • Çarşamba günü hava nasıl
  • Yarın hava nasıl olacak

Ekleme: Yeni bulduğum komutlar

  • Aç [uygulama adı]
  • Resim çek
  • Video çek
  • Neredeyim
  • [Eyfel kulesi] nerede

Google Now Türkçe

Google Now Türkçe