v2.5.2
Giriş yap

MYSQL JSON Veride Türkçe Karakterli Veriyi Sorgulama

byvenoms
426 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%'
Mysql

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%'
Mysql

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%'
Mysql

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
1059 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.