मुझे डेटाबेस से Lämmönmyyntipalvelut शब्द खोजने की आवश्यकता है। केवल, डेटाबेस में यह एक फ़ील्ड में है, जिसका मान एक PHP सरणी है, जो JSON_encode() का उपयोग कर JSON में परिवर्तित हो गया है और इसलिए विशेष वर्ण हेक्स यूनिकोड में स्क्रैबल किए गए हैं।MySQL: यूनिकोड इकाइयों के लिए पूछताछ
तो मेरी क्वेरी
SELECT * FROM table WHERE (services LIKE '%Lämmönmyyntipalvelut%')
कोई परिणाम नहीं है। कोई आश्चर्य नहीं। इसके बाद, विशेष वर्णों के साथ क्वेरी परिवर्तित:
SELECT * FROM table WHERE (services LIKE '%L\u00e4mm\u00f6nmyyntipalvelut%')
कोई परिणाम नहीं और मुझे आश्चर्य है कि क्यों। इसके बाद मैंने केवल विशेष चरित्र के लिए पूछताछ की जांच की:
SELECT * FROM table WHERE (services LIKE '%\u00e4%')
मिला जो मिला था। इसके बाद मैंने यह देखने के लिए सामान (एल शुरू करने के लिए) जोड़ना शुरू किया:
SELECT * FROM table WHERE (services LIKE '%L\u00e4%')
कोई परिणाम नहीं। एक और परीक्षण:
SELECT * FROM table WHERE (services LIKE '%\u00e4mm%')
मिला जो मिला था।
तो मेरा निष्कर्ष यह है कि बैकस्लैश किसी चीज को गड़बड़ कर रहा है, लेकिन मुझे समझ में नहीं आता कि कैसे?
संपादित करें: सेवाओं के क्षेत्र की
सटीक सामग्री:
["Neuvonta","L\u00e4mm\u00f6nmyyntipalvelut",
"Mets\u00e4-\/energiapuunkorjuupalvelut"]
सटीक क्वेरी:
SELECT id, uid, company_name, services, logo FROM rekisteroeidy_toimijaks
WHERE
(services LIKE '%L\u00e4mm\u00f6nmyyntipalvelut%' AND
services LIKE '%Mets\u00e4-\/energiapuunkorjuupalvelut%')
ORDER BY company_name ASC
मैं जोड़ा कुछ लाइन पठनीयता मदद करने के लिए टूट जाता है।
'json_encode() 'd परिणाम दिखाएं। –
आपका मतलब है सेवा क्षेत्र की सामग्री? –
हां, शायद कोई उस से देख सकता है, जहां समस्या है। –