v2.5.2
Giriş yap

MYSQL JSON Veride Türkçe Karakterli Veriyi Sorgulama

byvenoms
370 defa görüntülendi

Merhaba, veritabanımda json veriler var ve json veriler içinden sorgulama yapmam gerekiyor. Şu şekilde kullanıyorum:

SELECT * FROM `siparisler` WHERE JSON_EXTRACT(`musteriler`, '$[*].isim') LIKE '%Enes%'

Böyle kullandığım zaman hiçbir sorun yok fakat içinde Türkçe karakter geçen bir veri aramak istediğim zaman veriyi bulamıyorum. Soyadımdan örnek olarak gideyim

SELECT * FROM `siparisler` WHERE JSON_EXTRACT(`musteriler`, '$[*].isim') LIKE '%Hürüm%'

Hiçbir sonuç dönmüyor. İncelediğim zaman ü harfleri \u00fc şeklinde kayıt edilmiş olarak görünüyor. Dedim o zaman ü harflerinin yerinen \u00fc yazarak arama yapayım.

SELECT * FROM `siparisler` WHERE JSON_EXTRACT(`musteriler`, '$[*].isim') LIKE '%H\u00fcr\u00fcm%'

Fakat böyle de bir sonuç dönmüyor. \u00fc yazıp aradığım zaman sonuç dönüyor ama sadece 1 harfine bakarak aramış oluyorum. Çözümünü bilenlerden yardım talep ediyorum. Teşekkür ederim

abdullahx
951 gün önce

Php kullandığınızı ve json veriyi veri tabanına kayıt ederken array den çevirdiğinizi varsayarak şunu söyleyebilirim. json_encode fonksiyonuna flag olarak JSON_UNESCAPED_UNICODE kullanırsanız Türkçe karakterler bozulmadan kayıt edilir.