पर काम नहीं कर रहा है मेरे पास एक PHP कोड है जिसे डीएस टेबल डेटा को जेसन में एन्कोड करने की आवश्यकता है। तो मैंने json_encode() का उपयोग किया।php json_encode आंशिक रूप से
मैं टेबल यहाँ दी का उपयोग करें - http://www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/
इस कोड के behavious विभिन्न आदानों के लिए अलग हो रहा है।
क्वेरी - $query = "SELECT * FROM countries ";
कोई भी जेसन मान वापस नहीं करता है।
क्वेरी - $query = "SELECT * FROM countries where continent_code='AS'";
जेसन मूल्य सही ढंग से देता है।
जबकि $query = "SELECT * FROM countries where continent_code='EU'";
कुछ भी वापस नहीं करता है।
इसी प्रकार 'एनए', 'एएफ' काम नहीं करता और अन्य सही काम करते हैं।
मैं PHP के json_encode के इस व्यवहार के अजीब हूँ।
यह मेरा कोड है।
<?php
$con=mysqli_connect('localhost','xxxx','xxxxx','joomla30');
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM countries where continent_code='EU'") or die (mysqli_error($con));
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$orders[] = array(
'CountryCode' => $row['code'],
'CountryName' => $row['name']
);
}
//print_r($orders);
echo json_encode($orders);
mysqli_close($con);
?>
json_encode की पिछली पंक्ति तक, डेटा ले जाया जाता है। तो मुझे लगता है कि इसकी जेसन एन्कोड समस्या है।
मैंने print_r($orders);
का उपयोग करके इसके बारे में जानने की कोशिश की।
मुझे इससे निम्नलिखित आउटपुट मिला।
यदि मैं 'ईयू' के लिए प्रयास करता हूं, तो मुझे यह सरणी मिलती है।
Array ([0] => Array ([CountryCode] => AD [CountryName] => Andorra)
[1] => Array ([CountryCode] => AL [CountryName] => Albania)
[2] => Array ([CountryCode] => AT [CountryName] => Austria)
[3] => Array ([CountryCode] => AX [CountryName] => Åland Islands)...
यदि मैं 'एएस' के लिए प्रयास करता हूं, तो मुझे यह सरणी मिलती है।
Array ([0] => Array ([CountryCode] => AE [CountryName] => United Arab Emirates)
[1] => Array ([CountryCode] => AF [CountryName] => Afghanistan)
[2] => Array ([CountryCode] => AM [CountryName] => Armenia)
[3] => Array ([CountryCode] => AZ [CountryName] => Azerbaijan)...
दोनों सरणियों एक जैसे सही लग रहा है ... लेकिन Json_encode 'यूरोपीय संघ' के लिए 'के रूप में' पर ही काम करता है और नहीं।
क्या कोई इस समस्या को हल करने के बारे में जानता है? यदि हां, तो कृपया मुझे बताएं ..
मुझे लगता है कि समस्या "आलैंड द्वीप" है क्योंकि json_encode को "अ" के साथ एक अजीब यूनिकोड होने में समस्या है। ('UTF8' $ चोर,) UTF-8 में अपने mysql_connection की स्थापना –