अंधेरे में छुरा घोंपें:आपकी कुछ डेटाबेस पंक्तियों में गैर-ASCII वर्ण होते हैं (जैसे ü, é और ऐसे)। आपका डेटाबेस कनेक्शन latin1
. पर सेट है , इसलिए डेटा UTF-8 एन्कोडेड नहीं है। json_encode
UTF-8 एन्कोडेड डेटा की आवश्यकता है। यदि आप पर्याप्त पंक्तियाँ प्राप्त करते हैं, तो वहाँ ऐसी गैर-UTF-8 डेटा वाली पंक्तियाँ होंगी, और json_encode
विफल रहता है। कुछ पर्याप्त पंक्तियों के साथ आप उन समस्याग्रस्त पंक्तियों को नहीं मार पाते हैं।
आउटपुट के द्वारा इसका परीक्षण करें echo json_last_error_msg();
json_encode
. के बाद ।
अपना डेटाबेस कनेक्शन UTF-8 पर सेट करें। ऐसा करने का तरीका यहां देखें:UTF-8 सभी तरह से
जब आप एक print_r
. शामिल करते हैं, तो आपका ब्राउज़र अमान्य JSON के बारे में शिकायत क्यों करता है? आसान है:क्योंकि तब PHP बहुत सारे कचरे का उत्पादन करता है जो JSON नहीं है, जिसे ब्राउज़र JSON के रूप में डीकोड नहीं कर सकता है।