PHP ile JSON verisi yaratırken olası Türkçe Karakter Sorunu

Belki rast gelmişsinizdir. PHP ile JSON verisini oluşturduğunuzda türkçe karakter içeren verilerin boş (NULL) olmasına anlam veremediğiniz olmuştur. Çözümü ise basit. PHP dosyasını kaydederken kodlama biçimi ayarlamanız gerek. Mesela Notepad++ otomatik olarak dosyaları ANSI biçiminde kaydediyor. Bunu UTF-8 ile değiştirdiğinizde sorun düzeliyor. Örnek:
echo json_encode(array("Merhaba","Dünya"));
PHP dosyasının kaydedilme biçimini değiştirmediğinde JSON verisi İnternet tarayıca çıktısı:

json-turkce-karakter-sorunu

PHP dosyasının kaydedilme biçimini UTF-8 olarak değiştirdikten sonra JSON İnternet tarayıca çıktısı:

json-turkce-karakter-cozumu

'ü' türkçe karakterinin ISO karşılığını görüyoruz. Yani sorunu halletmiş oluyoruz.

NotePad++ ile dosya kayıt biçimi seçenekleri:

json-turkce-karakter-cozumu-2

Ayrıca buna benzer sorunlar da yok değil. Mesela PHP ile tarayıcıya Headers bilsini yolladığınız zaman bazen "Headers is already sent" gibi bir hata alabilirsiniz. Bu sorunun nedeni dosya kayıt biçiminin ANSI with BOM ya da UTF-8 with BOM olabilir.

Bu gibi sorunları çözmek için önce türkçe karakter içeren dosyanın kayıt biçimini kontrol etmek gerekir.
yazan Zülküf Küçüközer tarih   31st August 2009
primary key words  Php | Json | Türkçe karakter okunma  13997
secondary key words  Utf | Ansi
Bu yazı hakkında yorum yapılmamış.