php - Data Entry mySQL truncated when using %C3 special character -


मेरे पास निम्न क्वेरी है:

  INSERT में `poll` (` pollId`, `groupId`,` creatorUserId`, `createdDateTime`,` lastVoteDateTime`, `pollQuestion`,` pollOption`) मूल्यों (शून्य, '24', '73', '2014-02-18 21:27:12', ' 0000-00-00 00:00:00 ',' 1111111111 ',' 222222222222Ã223442 ')  

इस क्वेरी निष्पादित php POLLOPTION के लिए डेटा के बिना इस 222,222,222,222 की तरह छोटा कर दिया डाला का उपयोग कर Ã223442;

लेकिन POLLOPTION सफलतापूर्वक डाला "222222222222Ã223442" का डेटा भी जब यह myManager में निष्पादित;

नोट: डेटाबेस और टेबल और खेतों वे सभी यूटीएफ -8 PHP फ़ाइल एएनएसआई एन्कोडिंग है

PHP कोड:

  date_default_timezone_set ('एशिया / कलकत्ता'); Need_once "config.php"; (0) error_reporting; $ Date = तारीख ("वाई-एम-डी एच एच: आई: एस"); $ प्रतिक्रिया = ""; यदि (isset ($ _ अनुरोध ['userId'])) {$ userId = $ _ अनुरोध ['userId']; $ ग्रुप = $ _ अनुरोध [ 'ग्रुप']; $ PollQuestion = $ _ अनुरोध [ 'pollQuestion']; $ PollOptions = rawurldecode (htmlspecialchars ($ _ अनुरोध [ 'pollOptions'])); $ InsertPoll = mysql_query ( "` poll` में डालने ( `pollId`,` groupId`, `creatorUserId`,` createdDateTime`, `lastVoteDateTime`,` pollQuestion`, `pollOption`) मूल्यों (शून्य, '$ ग्रुप', ' $ UserId ',' $ date ',' 0000-00-00 00:00:00 ',' $ pollQuestion ',' $ pollOptions ')) या मर (mysql_error ()); गूंज ( "` poll` में डालने ( `pollId`,` groupId`, `creatorUserId`,` createdDateTime`, `lastVoteDateTime`,` pollQuestion`, `pollOption`) मूल्यों (शून्य, '$ ग्रुप', '$ userId' , '$ तारीख', '0000-00-00 00:00:00', $ pollQuestion ',' $ pollOptions ') "); अगर ($ insertPoll) {$ प्रतिक्रिया। = '{"सफलता": "0", "संदेश": "सफलतापूर्वक सर्वेक्षण पोस्ट किया गया"}'; } और {$ प्रतिक्रिया। = '{"सफलता": "1", "संदेश": "कुछ गलत हो गया"}'; } प्रतिध्वनि $ प्रतिक्रिया;  

}

आपकी पीएचपी फ़ाइल में यह निश्चित रूप से एक है लैटिन -1 एक और नहीं एक यूटीएफ -8 एक जब लैटिन -1 विस्तारित वर्णों के साथ प्रस्तुत किया जाता है, तो लिनक्स मायसक्ल केवल तभी खत्म हो जाएगा जब उसे पहले गलत अक्षर मिलेगा, जबकि विंडोज़ माइस्क्ल आपको एक त्रुटि देगी।

अपने लैंडिंग फ़ील्ड में यूटफ़ 8_एनोड का उपयोग करें अगर यह लैटिन में आ रहा है -1:

  $ insertPoll = mysql_query ( "` poll` में डालने ( `pollId`,` groupId`, `creatorUserId`,` createdDateTime`, `lastVoteDateTime`,` pollQuestion`, ` PollOption`) मूल्य (शून्य, '$ समूह आईडी', '$ उपयोगकर्ता आईडी', '$ तारीख', '0000-00-00 00:00:00', '$ pollQuestion', '। .ff8_encode ($ pollOptions)। " ') ") या मर (mysql_error ());  

संपादन: थोड़ा और अधिक की जांच, त्रुटि linux / windows पर निर्भर नहीं है, लेकिन सख्त मोड सक्षम है या नहीं पर। क्षमा करें!।

किसी भी स्थिति में, सही UTF-8 का उपयोग आपकी समस्या का समाधान करेगा।


Comments