jQuery Dersleri

Json Encode/Decode Türkçe Karakter Sorunu

jSON ile çalışmak PHP dilinin daha verimli hale gelmesini ve üst düzey verim alınmasını sağlamaktadır. Fakat jSON ile çalışmanın birkaç derdi de var. Bunlardan en önemlisi Türkçe karakter sorunudur. Özellikle veritabanında yer alna jSON formatındaki bir veri alınıp ekrana yazdırıldığında Türkçe karakter sorunuyla karşılaşılacaktır. Bu gibi durumları çözmek içinde birkaç yol bulunmaktadır. Bu makalede Türkçe karakter sorununa değinmiş olacağız.

MySQL Verilerinin jSON İle Alınırken Yaşanan Sorun

Verileri jSon olarak kayıt ettikten sonra bu veriyi alıp kullanmak istediğinizde Türkçe karakter sorunlarıyla karşılaşabilirsiniz. Bu sorunu çözmek için eskiden bir çok yöntem kullanılırdı şimdiyse json_encode() fonksiyonuna ikinci parametre eklenerek sorun kolaylıkla çözülmekte.

json_encode($string, JSON_UNESCAPED_UNICODE);

Yukarıda yer alan kodu kendinize göre uyarladığınızda Türkçe karakter sorununuz çözülecektir.

Kodlama Yönteminden Kaynaklı Sorun

Başka bir Türkçe karakter sorunu da kodların yazıldığı dosyanın karakter seti tanımlamasıdır. Türkçe karakterlerinin sorunsuz bir şekilde çalışması için çalışma dosyasının UTF8 Bomsuz olarak ayarlanmalı ve bu şekilde kayıt edilmelidir.

Veritabanı bağlantısı tanımlaması yapılırken de UTF8 kod tanımlaması yapılmalıdır. Bu tanımlama veritabanından verilerin belirlenen karakter tipine göre alınmasını sağlayacaktır.

Bunlara ek olarak verilerin kayıt edilmiş olduğu veritabanı ve tablolarının utf8-general-ci olmalıdır. Kodlama yönteminden kaynalı sorunları çözmek bu kadar basit aslında.

Sonuç

Sonuç olarak iki/üç adımda Türkçe karakter sorununu çözebilirsiniz. Bu sorunun yaşanmasının en büyük nedeni dil grubunun doğru bir şekilde tanımlanmamasından dolayıdır. JSON kullanımında ise JSON_UNESCAPES_UNICODE tanımlaması yapılarak sorun kolaylıkla çözülebilir.

Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kapalı